Re: [PATCH v2] i2c: xlp9xx: Fix case where SSIF read transaction completes early

From: Wolfram Sang
Date: Thu Aug 09 2018 - 11:42:56 EST


On Thu, Aug 09, 2018 at 05:39:59PM +0200, Wolfram Sang wrote:
> On Wed, Aug 08, 2018 at 11:36:48PM -0700, George Cherian wrote:
> > During ipmi stress tests we see occasional failure of transactions
> > at the boot time. This happens in the case of a I2C_M_RECV_LEN
> > transactions, when the read transfer completes (with the initial
> > read length of 34) before the driver gets a chance to handle interrupts.
> >
> > The current driver code expects at least 2 interrupts for I2C_M_RECV_LEN
> > transactions. The length is updated during the first interrupt, and the
> > buffer contents are only copied during subsequent interrupts. In case of
> > just one interrupt, we will complete the transaction without copying
> > out the bytes from RX fifo.
> >
> > Update the code to drain the RX fifo after the length update,
> > so that the transaction completes correctly in all cases.
> >
> > Signed-off-by: George Cherian <george.cherian@xxxxxxxxxx>
>
> Applied to for-current, thanks!

...and added stable.

Attachment: signature.asc
Description: PGP signature