Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
i2c: microchip: fix erroneous late ack send
A late ack is currently being sent at the end of a transfer due to incorrect logic in mchp_corei2c_empty_rx(). Currently the Assert Ack bit is being written to the controller's control reg after the last byte has been received, causing it to sent another byte with the ack. Instead, the AA flag should be written to the control register when the penultimate byte is read so it is sent out for the last byte. Reported-by: Andreas Buerkler <[email protected]> Fixes: 0dc0d1e ("i2c: Add Microchip PolarFire SoC I2C driver") Signed-off-by: Conor Dooley <[email protected]> Reviewed-by: Padmarao Begari <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Removed Tag by hs: Fixes: 0190d48488 ("i2c: microchip: fix ack sending logic")
- Loading branch information