iio: adis16400: Fix an error code in adis16400_initial_setup()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 16 Feb 2021 19:42:13 +0000 (22:42 +0300)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 21 Feb 2021 15:25:58 +0000 (15:25 +0000)
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@oracle.com>
Cc: <Stable@vger.kernel.org>
Link: https://lore.kernel.org/r/YCwgFb3JVG6qrlQ+@mwanda
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/imu/adis16400.c

index 54af2ed664f6fc7b9d1511a3deb9e7ec064eb8a6..785a4ce606d89a139db19741922477446b3b832e 100644 (file)
@@ -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;
                }