i2c-algo-bit: Fix timeout test
authorDave Airlie <[email protected]>
Tue, 5 May 2009 06:39:24 +0000 (08:39 +0200)
committerJean Delvare <[email protected]>
Tue, 5 May 2009 06:39:24 +0000 (08:39 +0200)
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 <[email protected]>
Signed-off-by: Jean Delvare <[email protected]>
drivers/i2c/algos/i2c-algo-bit.c

index d420cc5f563313d81f1b0d2e816a9d44c98819ca..e25e13980af3543a7dea3b9a60ec61a64877631b 100644 (file)
@@ -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();
        }