linux/drivers/extcon
Matti Vaittinen 74047eaa22 extcon: extcon-max77693.c: Fix potential work-queue cancellation race
The extcon IRQ schedules a work item. IRQ is requested using devm while
WQ is cancelld at remove(). This mixing of devm and manual unwinding has
potential case where the WQ has been emptied (.remove() was ran) but
devm unwinding of IRQ was not yet done. It may be possible the IRQ is
triggered at this point scheduling new work item to the already flushed
queue.

According to the input documentation the input device allocated by
devm_input_allocate_device() does not need to be explicitly unregistered.
Use the new devm_work_autocancel() and remove the remove() to simplify the
code.

Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
Link: https://lore.kernel.org/r/cbe8205eed8276f6e6db5003cfe51b8b0d4ac966.1623146580.git.matti.vaittinen@fi.rohmeurope.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2021-06-17 13:22:02 +02:00
..
devres.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
extcon-adc-jack.c extcon: adc-jack: Fix an error handling path in 'adc_jack_probe()' 2020-05-29 17:36:01 +09:00
extcon-axp288.c extcon: axp288: Use module_platform_driver to simplify the code 2020-09-30 00:40:06 +09:00
extcon-fsa9480.c extcon: fsa9480: Support TI TSU6111 variant 2020-12-11 17:01:09 +09:00
extcon-gpio.c extconn: Clean-up few drivers by using managed work init 2021-03-23 15:22:40 +01:00
extcon-intel-cht-wc.c extcon-intel-cht-wc: Don't reset USB data connection at probe 2019-10-01 06:46:30 +09:00
extcon-intel-int3496.c extconn: Clean-up few drivers by using managed work init 2021-03-23 15:22:40 +01:00
extcon-intel-mrfld.c extcon: mrfld: Introduce extcon driver for Basin Cove PMIC 2019-04-05 10:21:41 +09:00
extcon-intel.h extcon: intel: Split out some definitions to a common header 2019-04-05 10:21:41 +09:00
extcon-max3355.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 233 2019-06-19 17:09:06 +02:00
extcon-max8997.c extcon: max8997: Add CHGINS and CHGRM interrupt handling 2021-04-08 13:10:16 +09:00
extcon-max14577.c extcon: extcon-max14577: Fix potential work-queue cancellation race 2021-06-17 13:21:44 +02:00
extcon-max77693.c extcon: extcon-max77693.c: Fix potential work-queue cancellation race 2021-06-17 13:22:02 +02:00
extcon-max77843.c extcon: max77843: Return error code of extcon_dev_allocate() 2020-09-24 19:20:49 +09:00
extcon-palmas.c extconn: Clean-up few drivers by using managed work init 2021-03-23 15:22:40 +01:00
extcon-ptn5150.c extcon: ptn5150: Do not print error during probe if nothing is attached 2020-09-30 00:38:54 +09:00
extcon-qcom-spmi-misc.c Driver core changes for 5.13-rc1 2021-04-26 11:05:36 -07:00
extcon-rt8973a.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
extcon-rt8973a.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
extcon-sm5502.c extcon: sm5502: Detect OTG when USB_ID is connected to ground 2021-04-08 13:10:16 +09:00
extcon-sm5502.h extcon: sm5502: Reset registers during initialization 2019-10-11 10:43:26 +09:00
extcon-usb-gpio.c extcon: Replace HTTP links with HTTPS ones 2020-09-24 19:20:48 +09:00
extcon-usbc-cros-ec.c mfd / platform: cros_ec: Reorganize platform and mfd includes 2019-09-02 11:33:42 +01:00
extcon-usbc-tusb320.c extcon: Add driver for TI TUSB320 2020-12-11 17:01:09 +09:00
extcon.c extcon: Fix error handling in extcon_dev_register 2021-03-15 11:09:38 +09:00
extcon.h USB/PHY patches for 4.15-rc1 2017-11-13 21:14:07 -08:00
Kconfig ASoC/extcon: arizona: Move arizona jack code to sound/soc/codecs/arizona-jack.c 2021-03-18 11:46:15 +00:00
Makefile ASoC/extcon: arizona: Move arizona jack code to sound/soc/codecs/arizona-jack.c 2021-03-18 11:46:15 +00:00