]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Patch for I2C transmit overflow error
authorchandra shekhar <x0044955@ti.com>
Thu, 7 Aug 2008 14:10:51 +0000 (19:40 +0530)
committerTony Lindgren <tony@atomide.com>
Fri, 8 Aug 2008 06:19:29 +0000 (09:19 +0300)
This patch is to fix I2C transmit overflow error.

Signed-off-by: Chandra Shekhar <x0044955@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
drivers/i2c/busses/i2c-omap.c

index 73238874897ec934f257d51b44687a4788cfb6d6..3c4e5816156c6efd2f7b835421bb84ef1e00ea74 100644 (file)
@@ -661,6 +661,7 @@ omap_i2c_isr(int this_irq, void *dev_id)
                                }
                        }
                        omap_i2c_ack_stat(dev, stat & (OMAP_I2C_STAT_RRDY | OMAP_I2C_STAT_RDR));
+                       continue;
                }
                if (stat & (OMAP_I2C_STAT_XRDY | OMAP_I2C_STAT_XDR)) {
                        u8 num_bytes = 1;
@@ -694,13 +695,14 @@ omap_i2c_isr(int this_irq, void *dev_id)
                                omap_i2c_write_reg(dev, OMAP_I2C_DATA_REG, w);
                        }
                        omap_i2c_ack_stat(dev, stat & (OMAP_I2C_STAT_XRDY | OMAP_I2C_STAT_XDR));
+                       continue;
                }
                if (stat & OMAP_I2C_STAT_ROVR) {
                        dev_err(dev->dev, "Receive overrun\n");
                        dev->cmd_err |= OMAP_I2C_STAT_ROVR;
                }
                if (stat & OMAP_I2C_STAT_XUDF) {
-                       dev_err(dev->dev, "Transmit overflow\n");
+                       dev_err(dev->dev, "Transmit underflow\n");
                        dev->cmd_err |= OMAP_I2C_STAT_XUDF;
                }
        }