diff mbox series

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

Message ID 20181116225132.24459-1-shreeya.patel23498@gmail.com (mailing list archive)
State New, archived
Headers show
Series Remove platform data and introduce DT bindings | expand

Commit Message

Shreeya Patel Nov. 16, 2018, 10:51 p.m. UTC
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>
---
 drivers/staging/iio/addac/adt7316-i2c.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Jonathan Cameron Nov. 17, 2018, 5 p.m. UTC | #1
On Sat, 17 Nov 2018 04:21:32 +0530
Shreeya Patel <shreeya.patel23498@gmail.com> wrote:

> 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>
Applied to the togreg branch of iio.git and pushed out as testing
for the autobuilders to play with it.

Thanks,

Jonathan

> ---
>  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;
diff mbox series

Patch

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;