提交 c2a3b3cc 编写于 作者: D Dmitry Bazhenov 提交者: Wolfram Sang

i2c: xlp9xx: return ENXIO on slave address NACK

Fix the driver violation of the common practice to return
ENXIO error on a slave address NACK.
Signed-off-by: NDmitry Bazhenov <dmitry.bazhenov@auriga.com>
Signed-off-by: NGeorge Cherian <george.cherian@cavium.com>
Tested-by: Ndann frazier <dann.frazier@canonical.com>
Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
上级 d0adf769
...@@ -324,7 +324,8 @@ static int xlp9xx_i2c_xfer_msg(struct xlp9xx_i2c_dev *priv, struct i2c_msg *msg, ...@@ -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); dev_dbg(priv->dev, "transfer error %x!\n", priv->msg_err);
if (priv->msg_err & XLP9XX_I2C_INTEN_BUSERR) if (priv->msg_err & XLP9XX_I2C_INTEN_BUSERR)
xlp9xx_i2c_init(priv); xlp9xx_i2c_init(priv);
return -EIO; return (priv->msg_err & XLP9XX_I2C_INTEN_NACKADDR) ?
-ENXIO : -EIO;
} }
if (timeleft == 0) { if (timeleft == 0) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册