Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41101a33 authored by Jean Delvare's avatar Jean Delvare Committed by Jean Delvare
Browse files

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: default avatarJean Delvare <khali@linux-fr.org>
Cc: Ben Skeggs <bskeggs@redhat.com>
parent 5694f8a8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -112,7 +112,7 @@ static int sclhi(struct i2c_algo_bit_data *adap)
				break;
			return -ETIMEDOUT;
		}
		cond_resched();
		cpu_relax();
	}
#ifdef DEBUG
	if (jiffies != start && i2c_debug >= 3)