Currently, in case occurring abnormal event,
internal flag variable(=pch_event_flag) is not reset.
This patch fixes the issue.

commit: cb59f5253a5313d62e8e345fcd5dd5a44a73e0d6

kernel version: 3.0

Cc: [email protected]
Signed-off-by: Ben Dooks <[email protected]>
Signed-off-by: Tomoya MORINAGA <[email protected]>
---
 drivers/i2c/busses/i2c-eg20t.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/i2c/busses/i2c-eg20t.c b/drivers/i2c/busses/i2c-eg20t.c
index 2e494ac..33c681d 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;
        }
 
-- 
1.7.7.6

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to