Skip to content
Commit 6d133b31 authored by Conor Dooley's avatar Conor Dooley Committed by Heiko Schocher
Browse files

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: default avatarAndreas Buerkler <andreas.buerkler@enclustra.com>
Fixes: 0dc0d1e0 ("i2c: Add Microchip PolarFire SoC I2C driver")
Signed-off-by: default avatarConor Dooley <conor.dooley@microchip.com>
Reviewed-by: default avatarPadmarao Begari <padmarao.begari@microchip.com>
Reviewed-by: default avatarHeiko Schocher <hs@denx.de>

Removed Tag by hs: Fixes: 0190d48488 ("i2c: microchip: fix ack sending logic")
parent 95b22bd6
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment