aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShreeya Patel <shreeya.patel23498@gmail.com>2018-11-17 04:21:32 +0530
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2018-11-17 16:59:56 +0000
commit00426e99789357dbff7e719a092ce36a3ce49d94 (patch)
tree7296456e8f3da7d75d40005a77b70844ff583ab0
parentStaging: iio: adt7316: Fix i2c data reading, set the data field (diff)
Staging: iio: adt7316: Add an extra check for 'ret' equals to 0
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>
-rw-r--r--drivers/staging/iio/addac/adt7316-i2c.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/staging/iio/addac/adt7316-i2c.c b/drivers/staging/iio/addac/adt7316-i2c.c
index 856bcfa60c6c..473e5e34ec00 100644
--- a/drivers/staging/iio/addac/adt7316-i2c.c
+++ b/drivers/staging/iio/addac/adt7316-i2c.c
@@ -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;