[PATCH 2/7] Staging: iio: adt7316: Add an extra check for 'ret' equals to 0

Shreeya Patel shreeya.patel23498 at gmail.com
Fri Nov 16 22:51:32 UTC 2018


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 at gmail.com>
---
 drivers/staging/iio/addac/adt7316-i2c.c | 4 ++++
 1 file changed, 4 insertions(+)

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;
-- 
2.17.1



More information about the devel mailing list