linux-stable/drivers/i2c
Shubhrajyoti Datta 9f7ae2d5c7 i2c: cadence: Fix the hold bit setting
[ Upstream commit d358def706 ]

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: df8eb5691c ("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: Sasha Levin <sashal@kernel.org>
2019-03-23 13:19:42 +01:00
..
algos i2c: algo-bit: declare i2c_bit_quirk_no_clk_stretch as static 2016-05-11 17:16:30 +02:00
busses i2c: cadence: Fix the hold bit setting 2019-03-23 13:19:42 +01:00
muxes i2c: mux: reg: put away the parent i2c adapter on probe failure 2018-04-13 19:47:57 +02:00
i2c-boardinfo.c i2c: remove __init from i2c_register_board_info() 2016-06-19 14:13:50 +02:00
i2c-core.c i2c: print correct device invalid address 2017-01-19 20:18:02 +01:00
i2c-core.h
i2c-dev.c i2c: dev: prevent adapter retries and timeout being set as minus value 2019-01-16 22:12:32 +01:00
i2c-mux.c i2c: add missing of_node_put in i2c_mux_del_adapters 2017-03-18 19:14:30 +08:00
i2c-slave-eeprom.c i2c: Drop owner assignment from i2c_driver 2015-08-10 08:37:35 +02:00
i2c-smbus.c i2c: i2c-smbus: fix i2c_handle_smbus_host_notify documentation 2016-07-18 20:09:54 +02:00
i2c-stub.c i2c: i2c-stub: sort includes 2016-02-20 23:33:39 +01:00
Kconfig i2c: mux: fix up dependencies 2016-11-14 18:23:30 +01:00
Makefile i2c: slave-eeprom: add eeprom simulator driver 2014-12-11 22:25:54 +01:00