summaryrefslogtreecommitdiff
path: root/include/linux/fsl/mc.h
diff options
context:
space:
mode:
authorMyeonghun Pak <mhun512@gmail.com>2026-10-15 21:39:18 -0400
committerArnd Bergmann <arnd@arndb.de>2026-10-16 18:45:02 +0200
commit0045cd6b8ab2319e9d8de46e5e329cdc35ce6d05 (patch)
treee7a50bca1573b1a8ff7c6d5fadc9808f24cf9671 /include/linux/fsl/mc.h
parent655e6054acfbc3a6e0ad0e78e006e62fd49f8335 (diff)
platform: cznic: turris-omnia-mcu: stop button emulation producers
The legacy MCU IRQ thread can requeue button-release emulation work after its managed cleanup has canceled it. Since the IRQ is still active at that point, the newly queued work can outlive device teardown and access freed MCU state. Use disable_delayed_work_sync() to prevent further queueing and drain the worker before the IRQ action is released. Keep the parent IRQ active while the worker completes. devm_add_action_or_reset() also drains the work if action registration fails. This issue was identified as part of our ongoing research while reviewing kernel code. Fixes: dfa556e45ae9 ("platform: cznic: turris-omnia-mcu: Add support for MCU connected GPIOs") Assisted-by: LLM Co-developed-by: Ijae Kim <ae878000@gmail.com> Signed-off-by: Ijae Kim <ae878000@gmail.com> Signed-off-by: Myeonghun Pak <mhun512@gmail.com> Link: https://lore.kernel.org/r/20261016013918.3492835-1-mhun512@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/linux/fsl/mc.h')
0 files changed, 0 insertions, 0 deletions