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

From: Jonathan Cameron
Date: Sat Nov 17 2018 - 12:01:13 EST


On Sat, 17 Nov 2018 04:21:32 +0530
Shreeya Patel <shreeya.patel23498@xxxxxxxxx> 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@xxxxxxxxx>
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;