]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/i2c/busses/i2c-xlp9xx.c
i2c: xlp9xx: return ENXIO on slave address NACK
[mirror_ubuntu-bionic-kernel.git] / drivers / i2c / busses / i2c-xlp9xx.c
index b970bf8f38e57f0ac3b072620bb96de15796b744..6d78cdc5cf91abd2bb785fb13e46581b1515574e 100644 (file)
@@ -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) {