diff --git a/src/soc/qualcomm/ipq806x/i2c.c b/src/soc/qualcomm/ipq806x/i2c.c index 9aaa173513..e121ae8496 100644 --- a/src/soc/qualcomm/ipq806x/i2c.c +++ b/src/soc/qualcomm/ipq806x/i2c.c @@ -150,7 +150,7 @@ int platform_i2c_transfer(unsigned bus, struct i2c_seg *segments, int seg_count) if (i2c_init(bus)) return 1; - while (seg_count--) { + while (!ret && seg_count--) { if (seg->read) ret = i2c_read(bus, seg->chip, seg->buf, seg->len); else