diff options
| author | Hongyan Xu <getshell@seu.edu.cn> | 2026-08-14 23:30:19 +0800 |
|---|---|---|
| committer | Lee Jones <lee@kernel.org> | 2026-09-03 14:30:57 +0100 |
| commit | 35aa34b9d32dae6f069fe551ac4a899a9c37373a (patch) | |
| tree | 12a3dc05f495d99285b65308b3e2eda570d141c5 /scripts/Makefile.thinlto | |
| parent | cee9395acd8043be0644b25c34bfa86623f2b935 (diff) | |
| download | linux-next-35aa34b9d32dae6f069fe551ac4a899a9c37373a.tar.gz linux-next-35aa34b9d32dae6f069fe551ac4a899a9c37373a.zip | |
mfd: da903x: Cancel IRQ work during teardown
The IRQ handler disables the IRQ and schedules irq_work. Releasing the
IRQ does not drain that work, which can continue to use the devm-allocated
chip and notifier state.
Manage both IRQ-work cancellation and subdevice removal with devres.
Register the subdevice-removal action before requesting the IRQ, then add
the IRQ-work action after the request. This avoids leaving a live IRQ
without work cancellation if action registration fails. Devres cleanup
then disables the IRQ and drains the work before releasing the IRQ and
removing child devices. Register both actions before creating the children
so partial probe failures use the same ordering.
This issue was found by the author's in-house static analysis tool.
The patch was reviewed by the author against the latest mainline tree.
Fixes: 26b8f5e1e2d1 ("mfd: add base support for Dialog DA9030/DA9034 PMICs")
Cc: stable@vger.kernel.org
Suggested-by: Lee Jones <lee@kernel.org>
Assisted-by: Codex:GPT-5
Signed-off-by: Hongyan Xu <getshell@seu.edu.cn>
Link: https://patch.msgid.link/20260814153019.1114-1-getshell@seu.edu.cn
Signed-off-by: Lee Jones <lee@kernel.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
