42 lines
1.3 KiB
Diff
42 lines
1.3 KiB
Diff
From b766d59f044858ed3d149e97619a0bf5cc2873f3 Mon Sep 17 00:00:00 2001
|
|
From: Priya Vijayan <priya.vijayan@intel.com>
|
|
Date: Tue, 27 Apr 2010 13:23:28 -0700
|
|
Subject: [PATCH] workaround for aava KOSKI
|
|
|
|
Signed-off-by: Priya Vijayan <priya.vijayan@intel.com>
|
|
---
|
|
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
|
|
|