i2c: Timeouts reach -1
With a postfix decrement these timeouts reach -1 rather than 0, but after the loop it is tested whether they have become 0. As pointed out by Jean Delvare, the condition we are waiting for should also be tested before the timeout. With the current order, you could exit with a timeout error while the job is actually done. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
This commit is contained in:
@@ -644,7 +644,7 @@ static int i2c_pxa_do_pio_xfer(struct pxa_i2c *i2c,
|
||||
|
||||
i2c_pxa_start_message(i2c);
|
||||
|
||||
while (timeout-- && i2c->msg_num > 0) {
|
||||
while (i2c->msg_num > 0 && --timeout) {
|
||||
i2c_pxa_handler(0, i2c);
|
||||
udelay(10);
|
||||
}
|
||||
|
Reference in New Issue
Block a user