Re: [PATCH v3 4/5] i2c: davinci: use bus recovery infrastructure

From: Wolfram Sang
Date: Fri Apr 03 2015 - 16:18:25 EST



> > The I2C specs say in 3.1.16 that the recovery procedure should be used
> > when SDA is stuck low. So, I do wonder if we should apply the recovery
> > after a timeout. Stuck SDA might be one reason for timeout, but there
> > may be others...
>
> This is ancient code. And regarding your question -
> Might be it would be reasonable to add call of
> i2c_davinci_wait_bus_not_busy() at the end of i2c_davinci_xfer()?
> This way we will wait for Bus Free before performing recovery.

That might be an improvement, but the generic question still remains:
Is a timeout a reason for recovery? SDA stuck low is one reason for a
timeout. I have problems making up my mind here between being pragmatic
and being in accordance with the specs.

> Of course, i2c_davinci_wait_bus_not_busy() has to be fixed first
> as proposed by Alexander Sverdlin here:
> https://patchwork.ozlabs.org/patch/448994/.

Okay, good that you said it. So I'll give his patch series priority over
this one.

Attachment: signature.asc
Description: Digital signature