Messages in this thread | | | Date | Mon, 5 Oct 2020 10:07:25 +0200 | From | Krzysztof Kozlowski <> | Subject | Re: [PATCH v2 2/3] i2c: imx: Check for I2SR_IAL after every byte |
| |
On Fri, Oct 02, 2020 at 05:23:04PM +0200, Christian Eggers wrote: > Arbitration Lost (IAL) can happen after every single byte transfer. If > arbitration is lost, the I2C hardware will autonomously switch from > master mode to slave. If a transfer is not aborted in this state, > consecutive transfers will not be executed by the hardware and will > timeout. > > Signed-off-by: Christian Eggers <ceggers@arri.de> > Cc: stable@vger.kernel.org > --- > drivers/i2c/busses/i2c-imx.c | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) >
Tested (not extensively) on Vybrid VF500 (Toradex VF50): Tested-by: Krzysztof Kozlowski <krzk@kernel.org>
The I2C on Vybrid VF500 still works fine. I did not test this actual condition (arbitration) but only a regular I2C driver (BQ27xxx fuel gauge). Obviously this only proves that regular operation is not broken...
Alternatively if you have a specific testing procedure (reproduction of a problem), please share.
Best regards, Krzysztof
| |