Re: [PATCH] iio: adis16400: Fix an error code in adis16400_initial_setup()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 16 Feb 2021 22:42:13 +0300
Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:

> This is to silence a new Smatch warning:
> 
>     drivers/iio/imu/adis16400.c:492 adis16400_initial_setup()
>     warn: sscanf doesn't return error codes
> 
> If the condition "if (st->variant->flags & ADIS16400_HAS_SLOW_MODE) {"
> is false then we return 1 instead of returning 0 and probe will fail.
> 
> Fixes: 72a868b38bdd ("iio: imu: check sscanf return value")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

Hi Dan,

May be worth a follow up at some point to get rid of the silliness
of goto err_ret by using direct returns.  Obviously that is a rather
less minimal fix however so not so good for backports.

Hence, applied this to the fixes-togreg branch of iio.git and marked
for stable. 

Thanks,


Jonathan

> ---
>  drivers/iio/imu/adis16400.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/iio/imu/adis16400.c b/drivers/iio/imu/adis16400.c
> index 54af2ed664f6..785a4ce606d8 100644
> --- a/drivers/iio/imu/adis16400.c
> +++ b/drivers/iio/imu/adis16400.c
> @@ -462,8 +462,7 @@ static int adis16400_initial_setup(struct iio_dev *indio_dev)
>  		if (ret)
>  			goto err_ret;
>  
> -		ret = sscanf(indio_dev->name, "adis%u\n", &device_id);
> -		if (ret != 1) {
> +		if (sscanf(indio_dev->name, "adis%u\n", &device_id) != 1) {
>  			ret = -EINVAL;
>  			goto err_ret;
>  		}




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux