nxp-nci: i2c: Do not check specifically for -EREMOTEIO error
authorFabio Estevam <fabio.estevam@freescale.com>
Wed, 4 Nov 2015 10:13:00 +0000 (08:13 -0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Wed, 18 Nov 2015 01:30:49 +0000 (02:30 +0100)
commit59df9bb25cf8a13443b8335a7a9013817c050b88
tree0a06192ae1da3cc488f44039a4ea8d7891c2449a
parent7f151f1d8abb7d5930b49d4796b463dca1673cb7
nxp-nci: i2c: Do not check specifically for -EREMOTEIO error

Function nxp_nci_i2c_write currently assumes in case of
I2C bus NACK that the NFC device is in stand-by mode and
will retry the I2C transaction after a pause. This assumes
that the first failed I2C transaction will wake-up the device.

This is done by checking on EREMOTEIO, which is wrong. According
to Documentation/i2c/fault-codes ENXIO shall be used. Unfortunately
the NOACK return code is currently inconsistent across various I2C
host controller drivers. So only check for the generic error case
instead.

This is a temporary fix. As soon as all I2C bus master drivers are
fixed to consistently return 'ENXIO', then we can do the specific
error check again.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/nfc/nxp-nci/i2c.c