Re: [PATCH] Input: wm831x-on - free the mapped IRQ on removal

From
Myeonghun Pak <hidden>
Date
2026-11-10 02:22:27
Also in
lkml
Reply to
Dmitry Torokhov, 2026-10-16
Hi Dmitry,

Thanks for the review. I've updated the patch to use managed IRQ/work
cleanup and MFD-provided mapped IRQs.

Polling is retained for release detection, since the chip only
interrupts on assertion.

Thanks,
Myeonghun

2026년 10월 16일 (금) 오후 2:57, Dmitry Torokhov [off-list ref]님이 작성:
Hi Myeonghun,

On Thu, Oct 15, 2026 at 10:43:00PM -0400, Myeonghun Pak wrote:
quoted
Probe requests the Linux IRQ returned by wm831x_irq(), but remove
passes the untransformed MFD IRQ resource to free_irq(). The two numbers
are not guaranteed to match. If they differ, the ON handler remains
registered and can queue polling work after the input device and driver
data have been released.

Store the requested IRQ and free it before cancelling polling work on
removal. Also cancel already queued work after free_irq() when input
registration fails; free_irq() waits for the handler but does not cancel
its work.
Why don't we switch to devm_delayed_work_autocancel() and
devm_request_irq() (or maybe use devm_request_threaded_itq() and get rid
of the delayed work)?

Also we need to get rid of wm831_irq() and make MFD give us already
mapped interrupt.

Thanks.

--
Dmitry
Thread (4 messages) 4 messages, 3 authors, last reply 6h ago
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help