summaryrefslogtreecommitdiffstats
path: root/drivers/i2c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2009-05-05 08:39:24 +0200
committerJean Delvare <khali@linux-fr.org>2009-05-05 08:39:24 +0200
commit0cdba07bb23cdd3e0d64357ec3d983e6b75e541f (patch)
tree2be7fb0ed8b0e1a7a478d79e33fc742daa27fb35 /drivers/i2c
parenti2c: Timeouts off by 1 (diff)
downloadlinux-0cdba07bb23cdd3e0d64357ec3d983e6b75e541f.tar.xz
linux-0cdba07bb23cdd3e0d64357ec3d983e6b75e541f.zip
i2c-algo-bit: Fix timeout test
When fetching DDC using i2c algo bit, we were often seeing timeouts before getting valid EDID on a retry. The VESA spec states 2ms is the DDC timeout, so when this translates into 1 jiffie and we are close to the end of the time period, it could return with a timeout less than 2ms. Change this code to use time_after instead of time_after_eq. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/algos/i2c-algo-bit.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/i2c/algos/i2c-algo-bit.c b/drivers/i2c/algos/i2c-algo-bit.c
index d420cc5f5633..e25e13980af3 100644
--- a/drivers/i2c/algos/i2c-algo-bit.c
+++ b/drivers/i2c/algos/i2c-algo-bit.c
@@ -104,7 +104,7 @@ static int sclhi(struct i2c_algo_bit_data *adap)
* chips may hold it low ("clock stretching") while they
* are processing data internally.
*/
- if (time_after_eq(jiffies, start + adap->timeout))
+ if (time_after(jiffies, start + adap->timeout))
return -ETIMEDOUT;
cond_resched();
}