Message ID | 20170518141450.30938-1-michael.thalmeier@hale.at |
---|---|
State | Superseded |
Headers | show |
On Thu, May 18, 2017 at 04:14:50PM +0200, Michael Thalmeier wrote: > When mxs_i2c_pio_wait_xfer_end returns with a return code of -ENXIO, the > NO_SLAVE_ACK_IRQ bit is set in CTRL1. > In this case, do not print an error message, because every NAK would > otherwise generate a new message. Why not also for the read case? Also, I think all the error printing for mxs_i2c_pio_wait_xfer_end() could go. NAK can happen on the bus as well as timeouts, e.g. EEPROMs currently erasing a page. Upper layers ought to handle that. Thanks, Wolfram > > Signed-off-by: Michael Thalmeier <michael.thalmeier@hale.at> > --- > drivers/i2c/busses/i2c-mxs.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/i2c/busses/i2c-mxs.c b/drivers/i2c/busses/i2c-mxs.c > index 5738556..e2dbb9c 100644 > --- a/drivers/i2c/busses/i2c-mxs.c > +++ b/drivers/i2c/busses/i2c-mxs.c > @@ -527,7 +527,7 @@ static int mxs_i2c_pio_setup_xfer(struct i2c_adapter *adap, > > /* Wait for the end of the transfer. */ > ret = mxs_i2c_pio_wait_xfer_end(i2c); > - if (ret) { > + if (ret && ret != -ENXIO) { > dev_err(i2c->dev, > "PIO: Failed to finish WRITE cmd!\n"); > break; > -- > 2.9.2 >
diff --git a/drivers/i2c/busses/i2c-mxs.c b/drivers/i2c/busses/i2c-mxs.c index 5738556..e2dbb9c 100644 --- a/drivers/i2c/busses/i2c-mxs.c +++ b/drivers/i2c/busses/i2c-mxs.c @@ -527,7 +527,7 @@ static int mxs_i2c_pio_setup_xfer(struct i2c_adapter *adap, /* Wait for the end of the transfer. */ ret = mxs_i2c_pio_wait_xfer_end(i2c); - if (ret) { + if (ret && ret != -ENXIO) { dev_err(i2c->dev, "PIO: Failed to finish WRITE cmd!\n"); break;
When mxs_i2c_pio_wait_xfer_end returns with a return code of -ENXIO, the NO_SLAVE_ACK_IRQ bit is set in CTRL1. In this case, do not print an error message, because every NAK would otherwise generate a new message. Signed-off-by: Michael Thalmeier <michael.thalmeier@hale.at> --- drivers/i2c/busses/i2c-mxs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)