Em Thu, 8 Feb 2018 11:41:59 +0200 Todor Tomov <todor.tomov@xxxxxxxxxx> escreveu: > I2C transfer functions return number of successful operations (on success). > > Do not return the received positive return code but instead return 0 on > success. The users of write_reg function already use this logic. > > Signed-off-by: Todor Tomov <todor.tomov@xxxxxxxxxx> > --- > drivers/media/i2c/ov5645.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/i2c/ov5645.c b/drivers/media/i2c/ov5645.c > index d28845f..9755562 100644 > --- a/drivers/media/i2c/ov5645.c > +++ b/drivers/media/i2c/ov5645.c > @@ -600,11 +600,13 @@ static int ov5645_write_reg(struct ov5645 *ov5645, u16 reg, u8 val) > regbuf[2] = val; > > ret = i2c_master_send(ov5645->i2c_client, regbuf, 3); > - if (ret < 0) > + if (ret < 0) { > dev_err(ov5645->dev, "%s: write reg error %d: reg=%x, val=%x\n", > __func__, ret, reg, val); > + return ret; > + } Actually, if ret < 3, it should return an error too (like -EREMOTEIO or -EIO). > > - return ret; > + return 0; > } > > static int ov5645_read_reg(struct ov5645 *ov5645, u16 reg, u8 *val) Thanks, Mauro