i2c-eg20t: Fix flag setting issue
authorTomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
Wed, 12 Oct 2011 04:13:05 +0000 (13:13 +0900)
committerBen Dooks <ben-linux@fluff.org>
Sat, 29 Oct 2011 10:09:33 +0000 (11:09 +0100)
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>
drivers/i2c/busses/i2c-eg20t.c

index 318e6a5a710f6cdfbb894ac2e659c4f139d313aa..a1bf62dbd27b37d0db0dbdaeeb851f2d0050deab 100644 (file)
@@ -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;
        }