From: Maxime COQUELIN Date: Fri, 28 Feb 2014 12:52:56 +0000 (+0100) Subject: i2c: st: Fix return in case of arbitration lost X-Git-Tag: v3.15-rc1~41^2~30 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=4fda99627dc037d3b316c3b3250075645cfcbe4d;p=linux.git i2c: st: Fix return in case of arbitration lost This patch fixes the error returned to the i2c_transfer function to -EAGAIN in case of arbitratin lost, so that the retry mechanism can be used. Signed-off-by: Maxime Coquelin Signed-off-by: Wolfram Sang --- diff --git a/drivers/i2c/busses/i2c-st.c b/drivers/i2c/busses/i2c-st.c index 9cf715d69551..872016196ef3 100644 --- a/drivers/i2c/busses/i2c-st.c +++ b/drivers/i2c/busses/i2c-st.c @@ -574,7 +574,7 @@ static irqreturn_t st_i2c_isr_thread(int irq, void *data) writel_relaxed(it, i2c_dev->base + SSC_IEN); st_i2c_set_bits(i2c_dev->base + SSC_I2C, SSC_I2C_STOPG); - c->result = -EIO; + c->result = -EAGAIN; break; default: