Re: [PATCH] i2c: pasemi: Wait for write xfers to finish
From: Wolfram Sang
Date: Fri Apr 15 2022 - 17:12:54 EST
On Tue, Mar 29, 2022 at 08:38:17PM +0200, Martin Povišer wrote:
> Wait for completion of write transfers before returning from the driver.
> At first sight it may seem advantageous to leave write transfers queued
> for the controller to carry out on its own time, but there's a couple of
> issues with it:
>
> * Driver doesn't check for FIFO space.
>
> * The queued writes can complete while the driver is in its I2C read
> transfer path which means it will get confused by the raising of
> XEN (the 'transaction ended' signal). This can cause a spurious
> ENODATA error due to premature reading of the MRXFIFO register.
>
> Adding the wait fixes some unreliability issues with the driver. There's
> some efficiency cost to it (especially with pasemi_smb_waitready doing
> its polling), but that will be alleviated once the driver receives
> interrupt support.
>
> Fixes: beb58aa39e6e ("i2c: PA Semi SMBus driver")
> Signed-off-by: Martin Povišer <povik+lin@xxxxxxxxxxx>
Applied to for-current, thanks!
Attachment:
signature.asc
Description: PGP signature