HI Mauro, On Tue, Mar 06, 2018 at 10:40:10AM -0300, Mauro Carvalho Chehab wrote: > 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). i2c_master_send() always returns a negative error code or the number of octets written. But thank you for reminding me about the patch. :-) -- Regards, Sakari Ailus sakari.ailus@xxxxxxxxxxxxxxx