On Tue, Jul 21, 2009 at 10:14:06AM -0500, Sonasath, Moiz wrote:
> Fix bug in reading the I2C_BUFFSTAT register for getting byte count on RX/TX 
> interrupt.
> 
> On Interrupt: I2C_STAT[RDR],
>       read 'RXSTAT' from I2C_BUFFSTAT[8-13]
> On Interrupt: I2C_STAT[XDR]
>       read 'TXSTAT' from I2C_BUFFSTAT[0-5]
> 
> Signed-off-by: Jagadeesh Pakaravoor<[email protected]>
> Signed-off-by: Moiz Sonasath<[email protected]>
> Signed-off-by: Vikram pandita<[email protected]>

IIRC, email addresses should have a space between the real name
and the address part. I've fixed this when applying as well as
changing all subjects to start i2c-omap:

> ---
>  drivers/i2c/busses/i2c-omap.c |   14 ++++++++------
>  1 files changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index ad8d201..d280acf 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -692,9 +692,10 @@ omap_i2c_isr(int this_irq, void *dev_id)
>                       if (dev->fifo_size) {
>                               if (stat & OMAP_I2C_STAT_RRDY)
>                                       num_bytes = dev->fifo_size;
> -                             else
> -                                     num_bytes = omap_i2c_read_reg(dev,
> -                                                     OMAP_I2C_BUFSTAT_REG);
> +                             else    /* read RXSTAT on RDR interrupt */
> +                                     num_bytes = (omap_i2c_read_reg(dev,
> +                                                     OMAP_I2C_BUFSTAT_REG)
> +                                                     >> 8) & 0x3F;
>                       }
>                       while (num_bytes) {
>                               num_bytes--;
> @@ -731,9 +732,10 @@ omap_i2c_isr(int this_irq, void *dev_id)
>                       if (dev->fifo_size) {
>                               if (stat & OMAP_I2C_STAT_XRDY)
>                                       num_bytes = dev->fifo_size;
> -                             else
> -                                     num_bytes = omap_i2c_read_reg(dev,
> -                                                     OMAP_I2C_BUFSTAT_REG);
> +                             else    /* read TXSTAT on XDR interrupt */
> +                                     num_bytes = omap_i2c_read_reg(dev,
> +                                                     OMAP_I2C_BUFSTAT_REG)
> +                                                     & 0x3F;
>                       }
>                       while (num_bytes) {
>                               num_bytes--;
> -- 
> 1.5.6.3
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Ben ([email protected], http://www.fluff.org/)

  'a smiley only costs 4 bytes'
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to