From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752541AbcEDLYT (ORCPT ); Wed, 4 May 2016 07:24:19 -0400 Received: from mout.kundenserver.de ([212.227.126.133]:63056 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752374AbcEDLYQ (ORCPT ); Wed, 4 May 2016 07:24:16 -0400 From: Arnd Bergmann To: Masahiro Yamada Cc: linux-kernel@vger.kernel.org, Philipp Zabel Subject: Re: [PATCH] reset: allow to pass NULL pointer to reset_control_put() Date: Wed, 04 May 2016 13:24:03 +0200 Message-ID: <8236507.We1UVOf0nF@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <1462360671-13668-1-git-send-email-yamada.masahiro@socionext.com> References: <1462360671-13668-1-git-send-email-yamada.masahiro@socionext.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:OGEEgipj1TyLyewOGuif4E7D4Q9MOuP4zhWuRFMTveFh3VQ9YYq +/LHAhnDb9C/oT4O8/wmBT60j5B1GOOB4Hg0Z11WkR6edI0x871drvUiNua2GvFFlv7IIha n8mwAKe1dekV/VtD1A9IXRaejQjJys5WD3XSrdKYnF0sRAcHFrKcyI/iuQ8estzk0YaTEHy D72yCvH3Y2UKfsYkLEXdw== X-UI-Out-Filterresults: notjunk:1;V01:K0:DyfxjM4nmNc=:3L20rDTYDP+h6b1ULrL7GB 31lOe4/5hx+LDsKB9WnRzQi41oZFQRpVSfu7ti+BBvWSfUGgPlVYRf4WTzkBx2qfm3Y12hPmZ 1UUxNEz60ceXG7gk2d5/ZC3V/p+QlW9AxiOpMYFoCnJN8liHSB3662CIguP1myc9FbGKZ8eye PGnOHMaQdp67auabO2pvWK9kdOjmIH6Vh7ip46xkpWBSsBt7wUtkADbQWnbHz4QvL4PlvDCnZ o57PPLVB6TDMGL8cYhLTQXpSaD9ZfI8y+MHHho2AjDAaaoWQ4PMMLsbMysl2S698tS3VZLpEc xQszuyP3Tz0DReOf13bZeyBdM5CCu96BpZgMmAtum0usLf5WgvRQpd9tJHKNyBsn3wGQ65mug Y22UD3nziEbIPpH0Eeyd7o6J3Ro8hXIUFo7xJztYDFK16c+6Qyimx0gCEhy6wN4FAyRtcmpmt uBiKJ1dsrEfgoPfuXIlJwao2epOfq7oJ1Zjenaxw2n/LUBj8JvEWiLH0DSTTHcUMBmRdKnFOz 62mkpyvPbHxrtEAlC/J/k9kBf76KZZ9S4r2uSP6MK1njBGuJjljLLwhPW4E+TmxNcoxFeciTu bX2wdbPfFE9MPrg2sMgKM5kyHXmffQj/5bYPd9UkiXvv4w3fTaJ7O3HFl/UYU26rmgTfAhv8v mzsyi0bg/2zqG6fp1HU83P6c32YmYl+UxHdNjldL/Lkcs0s4FkK8dErjmz2HBdPCHDZ3rurXv uo1oI7B3iAtNwI0H Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wednesday 04 May 2016 20:17:51 Masahiro Yamada wrote: > Currently, reset_control_put() just returns for error pointer, > but not for NULL pointer. This is not reasonable. > > Passing NULL pointer should be allowed as well to make failure path > handling easier. > > Signed-off-by: Masahiro Yamada > --- > > drivers/reset/core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/reset/core.c b/drivers/reset/core.c > index 181b05d..7bb16d1 100644 > --- a/drivers/reset/core.c > +++ b/drivers/reset/core.c > @@ -288,7 +288,7 @@ EXPORT_SYMBOL_GPL(reset_control_get); > > void reset_control_put(struct reset_control *rstc) > { > - if (IS_ERR(rstc)) > + if (IS_ERR_OR_NULL(rstc)) > return; > > module_put(rstc->rcdev->owner); Using IS_ERR_OR_NULL() normally indicates that there is something wrong with the API, or with the caller. What exactly is the idea behind treating an error pointer as a valid input to reset_control_put() here? Maybe it should just test for NULL? Arnd