]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
i2c: cadence: Fix the hold bit setting
authorShubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
Tue, 5 Feb 2019 11:12:53 +0000 (16:42 +0530)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 2 May 2019 20:41:55 +0000 (21:41 +0100)
commitb147919cc864f2b68bf4d8f566c1b7127fc3252d
tree2b8b50325ff5b2670a63428834ded7e8cbc22d17
parentfee3db23d809345a96ede3ef617a8c4fba1157cd
i2c: cadence: Fix the hold bit setting

commit d358def706880defa4c9e87381c5bf086a97d5f9 upstream.

In case the hold bit is not needed we are carrying the old values.
Fix the same by resetting the bit when not needed.

Fixes the sporadic i2c bus lockups on National Instruments
Zynq-based devices.

Fixes: df8eb5691c48 ("i2c: Add driver for Cadence I2C controller")
Reported-by: Kyle Roeschley <kyle.roeschley@ni.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
Tested-by: Kyle Roeschley <kyle.roeschley@ni.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/i2c/busses/i2c-cadence.c