linux-stable/drivers/i2c
Chunyan Zhang f6dd8c259a i2c: sprd: use a specific timeout to avoid system hang up issue
commit 0b884fe71f upstream.

If the i2c device SCL bus being pulled up due to some exception before
message transfer done, the system cannot receive the completing interrupt
signal any more, it would not exit waiting loop until MAX_SCHEDULE_TIMEOUT
jiffies eclipse, that would make the system seemed hang up. To avoid that
happen, this patch adds a specific timeout for message transfer.

Fixes: 8b9ec07198 ("i2c: Add Spreadtrum I2C controller driver")
Signed-off-by: Linhua Xu <linhua.xu@unisoc.com>
Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>
[wsa: changed errno to ETIMEDOUT]
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-17 14:05:35 +01:00
..
algos i2c: algo: pca: Reapply i2c bus settings after reset 2020-09-23 12:40:38 +02:00
busses i2c: sprd: use a specific timeout to avoid system hang up issue 2021-01-17 14:05:35 +01:00
muxes i2c: mux: demux-pinctrl: Fix an error handling path in 'i2c_demux_pinctrl_probe()' 2020-05-27 17:46:18 +02:00
i2c-boardinfo.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-core-acpi.c i2c: core: Restore acpi_walk_dep_device_list() getting called after registering the ACPI i2c devs 2020-10-29 09:58:00 +01:00
i2c-core-base.c i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices() 2020-10-01 13:18:15 +02:00
i2c-core-of.c i2c: core: fix use after free in of_i2c_notify 2019-11-15 22:01:13 +01:00
i2c-core-slave.c i2c: slave: add sanity check when unregistering 2020-08-11 15:33:37 +02:00
i2c-core-smbus.c i2c: core: check returned size of emulated smbus block read 2020-06-30 15:37:02 -04:00
i2c-core.h Merge branch 'i2c/for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2019-07-15 21:10:39 -07:00
i2c-dev.c i2c: dev: Fix the race between the release of i2c_dev and cdev 2020-05-27 17:46:07 +02:00
i2c-mux.c i2c: mux: add sysfs header 2019-06-22 07:32:33 +02:00
i2c-slave-eeprom.c i2c: slave-eeprom: Add read only mode 2019-09-28 20:44:12 +02:00
i2c-smbus.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-stub.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
Kconfig docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00
Makefile