diff mbox

drivers: i2c: i2c-st: Fix return in case of arbitration lost

Message ID 1393591976-10771-1-git-send-email-maxime.coquelin@st.com
State Accepted
Commit 4fda99627dc037d3b316c3b3250075645cfcbe4d
Headers show

Commit Message

Maxime COQUELIN Feb. 28, 2014, 12:52 p.m. UTC
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 <maxime.coquelin@st.com>
---
 drivers/i2c/busses/i2c-st.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Wolfram Sang March 10, 2014, 4:34 p.m. UTC | #1
On Fri, Feb 28, 2014 at 01:52:56PM +0100, Maxime COQUELIN wrote:
> 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 <maxime.coquelin@st.com>

Applied to for-next, thanks!
diff mbox

Patch

diff --git a/drivers/i2c/busses/i2c-st.c b/drivers/i2c/busses/i2c-st.c
index 9cf715d..8720161 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: