Ubuntu-focal-kernel/drivers/i2c
Chengfeng Ye 2518fdc268 i2c: bcm-iproc: Fix bcm_iproc_i2c_isr deadlock issue
BugLink: https://bugs.launchpad.net/bugs/2039440

commit 4caf4cb1eaed469742ef719f2cc024b1ec3fa9e6 upstream.

iproc_i2c_rd_reg() and iproc_i2c_wr_reg() are called from both
interrupt context (e.g. bcm_iproc_i2c_isr) and process context
(e.g. bcm_iproc_i2c_suspend). Therefore, interrupts should be
disabled to avoid potential deadlock. To prevent this scenario,
use spin_lock_irqsave().

Fixes: 9a10387280 ("i2c: iproc: add NIC I2C support")
Signed-off-by: Chengfeng Ye <dg573847474@gmail.com>
Acked-by: Ray Jui <ray.jui@broadcom.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Manuel Diewald <manuel.diewald@canonical.com>
Signed-off-by: Roxana Nicolescu <roxana.nicolescu@canonical.com>
2023-10-30 11:41:57 +01:00
..
algos
busses i2c: bcm-iproc: Fix bcm_iproc_i2c_isr deadlock issue 2023-10-30 11:41:57 +01:00
muxes i2c: mux-gpmux: Add of_node_put() when breaking out of loop 2022-10-17 15:00:51 +02:00
Kconfig
Makefile
i2c-boardinfo.c
i2c-core-acpi.c i2c: acpi: fix resource leak in reconfiguration device addition 2021-11-12 14:07:31 +01:00
i2c-core-base.c i2c: Fix a potential use after free 2022-10-17 15:00:35 +02:00
i2c-core-of.c
i2c-core-slave.c
i2c-core-smbus.c
i2c-core.h
i2c-dev.c i2c: validate user data in compat ioctl 2022-03-07 16:34:44 +01:00
i2c-mux.c
i2c-slave-eeprom.c
i2c-smbus.c
i2c-stub.c