From b766d59f044858ed3d149e97619a0bf5cc2873f3 Mon Sep 17 00:00:00 2001 From: Priya Vijayan Date: Tue, 27 Apr 2010 13:23:28 -0700 Subject: [PATCH] workaround for aava KOSKI Signed-off-by: Priya Vijayan --- drivers/i2c/busses/i2c-mrst.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/i2c/busses/i2c-mrst.c b/drivers/i2c/busses/i2c-mrst.c index e591a90..0737f42 100644 --- a/drivers/i2c/busses/i2c-mrst.c +++ b/drivers/i2c/busses/i2c-mrst.c @@ -217,6 +217,7 @@ static int mrst_i2c_disable(struct i2c_adapter *adap) dev_dbg(&adap->dev, "i2c is busy, count is %d\n", count); if (count++ > 10000) return -EBUSY; + udelay(10); } /* Set IC_ENABLE to 0 */ @@ -468,6 +469,7 @@ static int xfer_read(struct i2c_adapter *adap, unsigned char *buf, int length) reg_val = mrst_i2c_read(i2c->base + IC_STATUS); if (count++ > MAX_T_POLL_COUNT) goto read_loop; + udelay(10); } reg_val = mrst_i2c_read(i2c->base + IC_DATA_CMD); @@ -522,6 +524,7 @@ static int xfer_write(struct i2c_adapter *adap, while ((reg_val & bit_get) == 0) { if (count++ > MAX_T_POLL_COUNT) goto write_loop; + udelay(10); reg_val = mrst_i2c_read(i2c->base + IC_STATUS); } -- 1.6.2.2