i2c-algo-bit: Don't resched on clock stretching
authorJean Delvare <khali@linux-fr.org>
Mon, 26 Mar 2012 19:47:19 +0000 (21:47 +0200)
committerJean Delvare <khali@endymion.delvare>
Mon, 26 Mar 2012 19:47:19 +0000 (21:47 +0200)
commit41101a33026c215a09e5d3549aedfcdae9105515
treea501dc3b2e6cfaef0b03f0c02533b49263681f7d
parent5694f8a888f8f69a562e4cf939eed81ca7a5ecf2
i2c-algo-bit: Don't resched on clock stretching

Clock stretching is not supposed to last long, so asking to be
rescheduled while waiting for the clock line to be released by a slave
makes little sense. Odds are that the clock line will long have been
released when we run again, so we will have lost time and may even
get an SMBus timeout because of this.

So just busy-wait in that case. This also participates in the effort
to make i2c-algo-bit usable in contexts that can't sleep.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Ben Skeggs <bskeggs@redhat.com>
drivers/i2c/algos/i2c-algo-bit.c