[PATCH 0/5] extcon: cancel wq_detcable delayed work on driver unbind
From: Tristan Madani
Date: Tue Oct 20 2026 - 11:47:33 EST
From: Tristan Madani <tristan@xxxxxxxxxxxxxxxxxxx>
Several extcon MUIC drivers schedule a delayed work (wq_detcable) during
probe for post-boot cable state detection, but never cancel it on driver
unbind. If the device is removed before the work fires, the callback
dereferences freed memory.
Use devm_delayed_work_autocancel() to tie the work lifecycle to the
device. This matches the pattern already used by extcon-gpio,
extcon-palmas, extcon-qcom-spmi-misc, and extcon-intel-int3496.
For the Maxim drivers (max14577, max77693, max8997), irq_work was
already converted to devm_work_autocancel() but wq_detcable was missed.
The rt8973a and sm5502 drivers also need the devm-helpers.h include.
Tristan Madani (5):
extcon: max14577: cancel wq_detcable on driver unbind
extcon: max77693: cancel wq_detcable on driver unbind
extcon: max8997: cancel wq_detcable on driver unbind
extcon: rt8973a: cancel wq_detcable on driver unbind
extcon: sm5502: cancel wq_detcable on driver unbind
drivers/extcon/extcon-max14577.c | 5 ++++-
drivers/extcon/extcon-max77693.c | 5 ++++-
drivers/extcon/extcon-max8997.c | 5 ++++-
drivers/extcon/extcon-rt8973a.c | 6 +++++-
drivers/extcon/extcon-sm5502.c | 6 +++++-
5 files changed, 22 insertions(+), 5 deletions(-)
--
2.47.3