diff options
| author | Myeonghun Pak <mhun512@gmail.com> | 2026-09-23 01:40:17 -0400 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-09-23 14:44:26 +0200 |
| commit | 83701fdb2d8d644c547773791da48d6ecb3a5e1d (patch) | |
| tree | 2f4c666eb4ad03722d07204b71d639e75ce9af22 /tools/lib/python | |
| parent | f9387bde2911e0a5b9c82f09961d440ede9efb7f (diff) | |
ASoC: fsl_xcvr: free IRQ before canceling reset work
irq0_isr() schedules work_rst on a preamble error, and reset_rx_work()
touches regmap. remove() cancels that work while the IRQ is still
registered, so the handler can queue it again during teardown. The IRQ
is also requested before INIT_WORK() and spin_lock_init(). Probe
failure does not call remove(), so freeing the IRQ leaves queued work
running, and an earlier interrupt schedules uninitialized work.
Initialize the lock and devm_work_autocancel() before the IRQ. Failed
probe then frees the IRQ and cancels the work. Unbind frees the IRQ
before cancel_work_sync() and pm_runtime_disable().
Fixes: 1e5d0f106164 ("ASoC: fsl_xcvr: reset RX dpath after wrong preamble")
Cc: stable@vger.kernel.org # 6.13+
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>
Reviewed-by: Shengjiu Wang <shengjiu.wang@gmail.com>
Link: https://patch.msgid.link/20260923054017.93553-1-mhun512@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions
