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.na...@imgtec.com>
> ---
>  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

Reply via email to