diff mbox

[-next] IIO: ADC: fix return value check in stm32_dfsdm_adc_probe()

Message ID 1515669161-125426-1-git-send-email-weiyongjun1@huawei.com (mailing list archive)
State New, archived
Headers show

Commit Message

Wei Yongjun Jan. 11, 2018, 11:12 a.m. UTC
In case of error, the function devm_iio_device_alloc() returns NULL
pointer not ERR_PTR(). The IS_ERR() test in the return value check
should be replaced with NULL test.

Fixes: e2e6771c6462 ("IIO: ADC: add STM32 DFSDM sigma delta ADC support")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
---
 drivers/iio/adc/stm32-dfsdm-adc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Dan Carpenter Jan. 11, 2018, 9:28 p.m. UTC | #1
On Thu, Jan 11, 2018 at 11:12:41AM +0000, Wei Yongjun wrote:
> In case of error, the function devm_iio_device_alloc() returns NULL
> pointer not ERR_PTR(). The IS_ERR() test in the return value check
> should be replaced with NULL test.
> 
> Fixes: e2e6771c6462 ("IIO: ADC: add STM32 DFSDM sigma delta ADC support")
> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
> ---
>  drivers/iio/adc/stm32-dfsdm-adc.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/iio/adc/stm32-dfsdm-adc.c b/drivers/iio/adc/stm32-dfsdm-adc.c
> index e628d04..5e87140 100644
> --- a/drivers/iio/adc/stm32-dfsdm-adc.c
> +++ b/drivers/iio/adc/stm32-dfsdm-adc.c
> @@ -1100,9 +1100,9 @@ static int stm32_dfsdm_adc_probe(struct platform_device *pdev)
>  	dev_data = (const struct stm32_dfsdm_dev_data *)of_id->data;
>  
>  	iio = devm_iio_device_alloc(dev, sizeof(*adc));
> -	if (IS_ERR(iio)) {
> +	if (!iio) {
>  		dev_err(dev, "%s: Failed to allocate IIO\n", __func__);
> -		return PTR_ERR(iio);
> +		return -ENOMEM;
>  	}
>  
>  	adc = iio_priv(iio);
        ^^^^^^^^^^^^^^^^^^
This one doesn't return an error pointer either.  The check causes a
static check warning for me.  (It can't actually fail, though so maybe
it will return an error pointer in the future?)

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wei Yongjun Jan. 12, 2018, 1:37 a.m. UTC | #2
> 
> On Thu, Jan 11, 2018 at 11:12:41AM +0000, Wei Yongjun wrote:
> > In case of error, the function devm_iio_device_alloc() returns NULL
> > pointer not ERR_PTR(). The IS_ERR() test in the return value check
> > should be replaced with NULL test.
> >
> > Fixes: e2e6771c6462 ("IIO: ADC: add STM32 DFSDM sigma delta ADC
> support")
> > Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
> > ---
> >  drivers/iio/adc/stm32-dfsdm-adc.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/iio/adc/stm32-dfsdm-adc.c b/drivers/iio/adc/stm32-
> dfsdm-adc.c
> > index e628d04..5e87140 100644
> > --- a/drivers/iio/adc/stm32-dfsdm-adc.c
> > +++ b/drivers/iio/adc/stm32-dfsdm-adc.c
> > @@ -1100,9 +1100,9 @@ static int stm32_dfsdm_adc_probe(struct
> platform_device *pdev)
> >  	dev_data = (const struct stm32_dfsdm_dev_data *)of_id->data;
> >
> >  	iio = devm_iio_device_alloc(dev, sizeof(*adc));
> > -	if (IS_ERR(iio)) {
> > +	if (!iio) {
> >  		dev_err(dev, "%s: Failed to allocate IIO\n", __func__);
> > -		return PTR_ERR(iio);
> > +		return -ENOMEM;
> >  	}
> >
> >  	adc = iio_priv(iio);
>         ^^^^^^^^^^^^^^^^^^
> This one doesn't return an error pointer either.  The check causes a
> static check warning for me.  (It can't actually fail, though so maybe
> it will return an error pointer in the future?)

It seems that we can simply remove the check since 'adc' can never
be an invalid address here.

Regards,
Yongjun Wei

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Arnaud POULIQUEN Jan. 12, 2018, 9:37 a.m. UTC | #3
On 01/12/2018 02:37 AM, weiyongjun (A) wrote:
>>
>> On Thu, Jan 11, 2018 at 11:12:41AM +0000, Wei Yongjun wrote:
>>> In case of error, the function devm_iio_device_alloc() returns NULL
>>> pointer not ERR_PTR(). The IS_ERR() test in the return value check
>>> should be replaced with NULL test.
>>>
>>> Fixes: e2e6771c6462 ("IIO: ADC: add STM32 DFSDM sigma delta ADC
>> support")
>>> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
>>> ---
>>>  drivers/iio/adc/stm32-dfsdm-adc.c | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/iio/adc/stm32-dfsdm-adc.c b/drivers/iio/adc/stm32-
>> dfsdm-adc.c
>>> index e628d04..5e87140 100644
>>> --- a/drivers/iio/adc/stm32-dfsdm-adc.c
>>> +++ b/drivers/iio/adc/stm32-dfsdm-adc.c
>>> @@ -1100,9 +1100,9 @@ static int stm32_dfsdm_adc_probe(struct
>> platform_device *pdev)
>>>  	dev_data = (const struct stm32_dfsdm_dev_data *)of_id->data;
>>>
>>>  	iio = devm_iio_device_alloc(dev, sizeof(*adc));
>>> -	if (IS_ERR(iio)) {
>>> +	if (!iio) {
>>>  		dev_err(dev, "%s: Failed to allocate IIO\n", __func__);
>>> -		return PTR_ERR(iio);
>>> +		return -ENOMEM;
>>>  	}
>>>
>>>  	adc = iio_priv(iio);
>>         ^^^^^^^^^^^^^^^^^^
>> This one doesn't return an error pointer either.  The check causes a
>> static check warning for me.  (It can't actually fail, though so maybe
>> it will return an error pointer in the future?)
> 
> It seems that we can simply remove the check since 'adc' can never
> be an invalid address here.

Agree, i'm preparing patches for all issue you highlight,

Thanks for all your remarks
Arnaud
> 
> Regards,
> Yongjun Wei
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/iio/adc/stm32-dfsdm-adc.c b/drivers/iio/adc/stm32-dfsdm-adc.c
index e628d04..5e87140 100644
--- a/drivers/iio/adc/stm32-dfsdm-adc.c
+++ b/drivers/iio/adc/stm32-dfsdm-adc.c
@@ -1100,9 +1100,9 @@  static int stm32_dfsdm_adc_probe(struct platform_device *pdev)
 	dev_data = (const struct stm32_dfsdm_dev_data *)of_id->data;
 
 	iio = devm_iio_device_alloc(dev, sizeof(*adc));
-	if (IS_ERR(iio)) {
+	if (!iio) {
 		dev_err(dev, "%s: Failed to allocate IIO\n", __func__);
-		return PTR_ERR(iio);
+		return -ENOMEM;
 	}
 
 	adc = iio_priv(iio);