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 Applied to for-current, thanks!