[U-Boot] [PATCH 6/7] i2c: lpc32xx: fix write timeout

slemieux.tyco at gmail.com slemieux.tyco at gmail.com
Mon Jul 27 19:37:39 CEST 2015


From: Sylvain Lemieux <slemieux at tycoint.com>

Fix a condition that generate watchdog timeout inside "lpc32xx_i2c_write" when parameters alen = 0 and len = 0.

Signed-off-by: Sylvain Lemieux <slemieux at tycoint.com>
---
 drivers/i2c/lpc32xx_i2c.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/i2c/lpc32xx_i2c.c b/drivers/i2c/lpc32xx_i2c.c
index 4c66769..7f4eccd 100644
--- a/drivers/i2c/lpc32xx_i2c.c
+++ b/drivers/i2c/lpc32xx_i2c.c
@@ -200,6 +200,8 @@ static int lpc32xx_i2c_write(struct i2c_adapter *adap, u8 dev, uint addr,
 	if (alen | length)
 		/* Address slave in write mode */
 		writel((dev<<1) | LPC32XX_I2C_TX_START, &i2c->tx);
+	else
+		return 0;
 	/* write address bytes */
 	while (alen) {
 		/* wait for transmit fifo not full */
-- 
1.8.3.1



More information about the U-Boot mailing list