summaryrefslogtreecommitdiff
path: root/drivers/i2c/busses/i2c-amd756.c
diff options
context:
space:
mode:
authorRoel Kluin <roel.kluin@gmail.com>2009-05-05 08:39:24 +0200
committerJean Delvare <khali@linux-fr.org>2009-05-05 08:39:24 +0200
commit4ccc28f725bc2b7b0a3bc27e9c15f4eaf63fb812 (patch)
treef1a3a3424713340aabb5722fc1accad149fc5052 /drivers/i2c/busses/i2c-amd756.c
parentb4348f32dae3cb6eb4bc21c7ed8f76c0b11e9d6a (diff)
downloadlwn-4ccc28f725bc2b7b0a3bc27e9c15f4eaf63fb812.tar.gz
lwn-4ccc28f725bc2b7b0a3bc27e9c15f4eaf63fb812.zip
i2c: Timeouts off by 1
with while (timeout++ < MAX_TIMEOUT); timeout reaches MAX_TIMEOUT + 1 after the loop, so the tests below are off by one. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers/i2c/busses/i2c-amd756.c')
-rw-r--r--drivers/i2c/busses/i2c-amd756.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/i2c/busses/i2c-amd756.c b/drivers/i2c/busses/i2c-amd756.c
index 220f4a1eee1d..f7d6fe9c49ba 100644
--- a/drivers/i2c/busses/i2c-amd756.c
+++ b/drivers/i2c/busses/i2c-amd756.c
@@ -126,7 +126,7 @@ static int amd756_transaction(struct i2c_adapter *adap)
} while ((temp & (GS_HST_STS | GS_SMB_STS)) &&
(timeout++ < MAX_TIMEOUT));
/* If the SMBus is still busy, we give up */
- if (timeout >= MAX_TIMEOUT) {
+ if (timeout > MAX_TIMEOUT) {
dev_dbg(&adap->dev, "Busy wait timeout (%04x)\n", temp);
goto abort;
}
@@ -143,7 +143,7 @@ static int amd756_transaction(struct i2c_adapter *adap)
} while ((temp & GS_HST_STS) && (timeout++ < MAX_TIMEOUT));
/* If the SMBus is still busy, we give up */
- if (timeout >= MAX_TIMEOUT) {
+ if (timeout > MAX_TIMEOUT) {
dev_dbg(&adap->dev, "Completion timeout!\n");
goto abort;
}