Skip to content
Commit 093f70c1 authored by Wolfram Sang's avatar Wolfram Sang
Browse files

i2c: rcar: fix NACK handling when being a target



When this controller is a target, the NACK handling had two issues.
First, the return value from the backend was not checked on the initial
WRITE_REQUESTED. So, the driver missed to send a NACK in this case.
Also, the NACK always arrives one byte late on the bus, even in the
WRITE_RECEIVED case. This seems to be a HW issue. We should then not
rely on the backend to correctly NACK the superfluous byte as well. Fix
both issues by introducing a flag which gets set whenever the backend
requests a NACK and keep sending it until we get a STOP condition.

Fixes: de20d185 ("i2c: rcar: add slave support")
Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
parent 385f2dbb
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment