summaryrefslogtreecommitdiffstats
path: root/drivers/i2c
diff options
context:
space:
mode:
authorTomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>2011-10-12 06:13:05 +0200
committerBen Dooks <ben-linux@fluff.org>2011-10-29 12:09:33 +0200
commitcb59f5253a5313d62e8e345fcd5dd5a44a73e0d6 (patch)
tree5fc0cb723c0394e9a0cd79d4c9118a79c2425861 /drivers/i2c
parenti2c-eg20t: add stop sequence in case wait-event timeout occurs (diff)
downloadlinux-cb59f5253a5313d62e8e345fcd5dd5a44a73e0d6.tar.xz
linux-cb59f5253a5313d62e8e345fcd5dd5a44a73e0d6.zip
i2c-eg20t: Fix flag setting issue
Currently, in case occurring abnormal event, internal flag variable(=pch_event_flag) is not reset. This patch fixes the issue. Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/busses/i2c-eg20t.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-eg20t.c b/drivers/i2c/busses/i2c-eg20t.c
index 318e6a5a710f..a1bf62dbd27b 100644
--- a/drivers/i2c/busses/i2c-eg20t.c
+++ b/drivers/i2c/busses/i2c-eg20t.c
@@ -318,11 +318,13 @@ static s32 pch_i2c_wait_for_xfer_complete(struct i2c_algo_pch_data *adap)
if (ret == 0) {
pch_err(adap, "timeout: %x\n", adap->pch_event_flag);
+ adap->pch_event_flag = 0;
return -ETIMEDOUT;
}
if (adap->pch_event_flag & I2C_ERROR_MASK) {
pch_err(adap, "error bits set: %x\n", adap->pch_event_flag);
+ adap->pch_event_flag = 0;
return -EIO;
}