[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