linux-stable/drivers/i2c
Jarkko Nikula 08bc912fe7 i2c: designware: Synchronize IRQs when unregistering slave client
[ Upstream commit c486dcd2f1 ]

Make sure interrupt handler i2c_dw_irq_handler_slave() has finished
before clearing the the dev->slave pointer in i2c_dw_unreg_slave().

There is possibility for a race if i2c_dw_irq_handler_slave() is running
on another CPU while clearing the dev->slave pointer.

Reported-by: Krzysztof Adamski <krzysztof.adamski@nokia.com>
Reported-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-09-21 07:15:40 +02:00
..
algos
busses i2c: designware: Synchronize IRQs when unregistering slave client 2019-09-21 07:15:40 +02:00
muxes
i2c-boardinfo.c
i2c-core-acpi.c i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes 2018-08-24 13:09:23 +02:00
i2c-core-base.c i2c/mux, locking/core: Annotate the nested rt_mutex usage 2018-09-05 09:26:29 +02:00
i2c-core-of.c
i2c-core-slave.c
i2c-core-smbus.c
i2c-core.h
i2c-dev.c i2c: dev: fix potential memory leak in i2cdev_ioctl_rdwr 2019-06-22 08:16:17 +02:00
i2c-mux.c i2c/mux, locking/core: Annotate the nested rt_mutex usage 2018-09-05 09:26:29 +02:00
i2c-slave-eeprom.c
i2c-smbus.c
i2c-stub.c
Kconfig
Makefile