diff options
author | Dave Airlie <airlied@redhat.com> | 2009-05-05 08:39:24 +0200 |
---|---|---|
committer | Jean Delvare <khali@linux-fr.org> | 2009-05-05 08:39:24 +0200 |
commit | 0cdba07bb23cdd3e0d64357ec3d983e6b75e541f (patch) | |
tree | 2be7fb0ed8b0e1a7a478d79e33fc742daa27fb35 /drivers | |
parent | i2c: Timeouts off by 1 (diff) | |
download | linux-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')
-rw-r--r-- | drivers/i2c/algos/i2c-algo-bit.c | 2 |
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(); } |