On 27/07/15 12:55, Sifan Naeem wrote: > We can mark the transfer as complete without waiting for the stop > bit. This is important when handling repeated start transfers as > we have to start the next transfer without the stop bit being issued. > > Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> > --- > drivers/i2c/busses/i2c-img-scb.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-img-scb.c b/drivers/i2c/busses/i2c-img-scb.c > index 24b09fe..e27c3e0 100644 > --- a/drivers/i2c/busses/i2c-img-scb.c > +++ b/drivers/i2c/busses/i2c-img-scb.c > @@ -903,8 +903,11 @@ static unsigned int img_i2c_auto(struct img_i2c *i2c, > if (i2c->msg.flags & I2C_M_RD) { > if (int_status & INT_FIFO_FULL_FILLING) { > img_i2c_read_fifo(i2c); > - if (i2c->msg.len == 0) > - return ISR_WAITSTOP; > + if (i2c->msg.len == 0) { > + if (i2c->last_msg) > + return ISR_WAITSTOP; > + return ISR_COMPLETE(0); That already happens in img_i2c_isr(). Cheers James
Attachment:
signature.asc
Description: OpenPGP digital signature