diff options
author | Tali Perry <tali.perry1@gmail.com> | 2020-09-20 23:48:09 +0300 |
---|---|---|
committer | Wolfram Sang <wsa@kernel.org> | 2020-09-27 21:05:27 +0300 |
commit | 8947efc077168c53b84d039881a7c967086a248a (patch) | |
tree | 97fc351bbc8e6d15faf388ebc072c2fab563baee /drivers/net/can/at91_can.c | |
parent | a2bd970aa62f2f7f80fd0d212b1d4ccea5df4aed (diff) | |
download | linux-8947efc077168c53b84d039881a7c967086a248a.tar.xz |
i2c: npcm7xx: Clear LAST bit after a failed transaction.
Due to a HW issue, in some scenarios the LAST bit might remain set.
This will cause an unexpected NACK after reading 16 bytes on the next
read.
Example: if user tries to read from a missing device, get a NACK,
then if the next command is a long read ( > 16 bytes),
the master will stop reading after 16 bytes.
To solve this, if a command fails, check if LAST bit is still
set. If it does, reset the module.
Fixes: 56a1485b102e (i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver)
Signed-off-by: Tali Perry <tali.perry1@gmail.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Diffstat (limited to 'drivers/net/can/at91_can.c')
0 files changed, 0 insertions, 0 deletions