summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/i2c/algos/i2c-algo-bit.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/i2c/algos/i2c-algo-bit.c b/drivers/i2c/algos/i2c-algo-bit.c
index fad22b0bb5b0..18768c80d87c 100644
--- a/drivers/i2c/algos/i2c-algo-bit.c
+++ b/drivers/i2c/algos/i2c-algo-bit.c
@@ -353,7 +353,8 @@ static int try_address(struct i2c_adapter *i2c_adap,
bit_dbg(3, &i2c_adap->dev, "emitting stop condition\n");
i2c_stop(adap);
udelay(adap->udelay);
- yield();
+ if (!i2c_adap->atomic_xfer_only)
+ cond_resched();
bit_dbg(3, &i2c_adap->dev, "emitting start condition\n");
i2c_start(adap);
}