Staging: iio: adt7316: Add an extra check for 'ret' equals to 0
authorShreeya Patel <shreeya.patel23498@gmail.com>
Fri, 16 Nov 2018 22:51:32 +0000 (04:21 +0530)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 17 Nov 2018 16:59:56 +0000 (16:59 +0000)
ret = 0 indicates a case of no error but no data read from
the bus which is an invalid case. This case doesn't ever happen
in reality. It should perhaps be handled for correctness though.

Signed-off-by: Shreeya Patel <shreeya.patel23498@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/staging/iio/addac/adt7316-i2c.c

index 856bcfa..473e5e3 100644 (file)
@@ -30,6 +30,10 @@ static int adt7316_i2c_read(void *client, u8 reg, u8 *data)
        }
 
        ret = i2c_smbus_read_byte(client);
+
+       if (!ret)
+               return -EIO;
+
        if (ret < 0) {
                dev_err(&cl->dev, "I2C read error\n");
                return ret;