[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1516253964-4615-1-git-send-email-george.cherian@cavium.com>
Date: Thu, 18 Jan 2018 05:39:21 +0000
From: George Cherian <george.cherian@...ium.com>
To: linux-kernel@...r.kernel.org, linux-i2c@...r.kernel.org
Cc: wsa@...-dreams.de, Dmitry Bazhenov <dmitry.bazhenov@...iga.com>,
George Cherian <george.cherian@...ium.com>
Subject: [PATCH 1/4] i2c: xlp9xx: return ENXIO on slave address NACK
From: Dmitry Bazhenov <dmitry.bazhenov@...iga.com>
Fix the driver violation of the common practice to return
ENXIO error on a slave address NACK.
Signed-off-by: Dmitry Bazhenov <dmitry.bazhenov@...iga.com>
Signed-off-by: George Cherian <george.cherian@...ium.com>
---
drivers/i2c/busses/i2c-xlp9xx.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/i2c/busses/i2c-xlp9xx.c b/drivers/i2c/busses/i2c-xlp9xx.c
index b970bf8..6d78cdc 100644
--- a/drivers/i2c/busses/i2c-xlp9xx.c
+++ b/drivers/i2c/busses/i2c-xlp9xx.c
@@ -324,7 +324,8 @@ static int xlp9xx_i2c_xfer_msg(struct xlp9xx_i2c_dev *priv, struct i2c_msg *msg,
dev_dbg(priv->dev, "transfer error %x!\n", priv->msg_err);
if (priv->msg_err & XLP9XX_I2C_INTEN_BUSERR)
xlp9xx_i2c_init(priv);
- return -EIO;
+ return (priv->msg_err & XLP9XX_I2C_INTEN_NACKADDR) ?
+ -ENXIO : -EIO;
}
if (timeleft == 0) {
--
2.1.4
Powered by blists - more mailing lists