ASoC: SDCA: Unregister IRQ handlers on module remove
authorRichard Fitzgerald <rf@opensource.cirrus.com>
Wed, 8 Apr 2026 09:38:34 +0000 (10:38 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 8 Apr 2026 15:55:30 +0000 (16:55 +0100)
commit0b8757b220f94421bd4ff50cce03886387c4e71c
tree1e8b8ba65031f75bf8b8cfa96bef6fb4ddf31065
parent58dec4fac4c46b42b8264f2d8aa6972ff951c18b
ASoC: SDCA: Unregister IRQ handlers on module remove

Ensure that all interrupt handlers are unregistered before the parent
regmap_irq is unregistered.

sdca_irq_cleanup() was only called from the component_remove(). If the
module was loaded and removed without ever being component probed the
FDL interrupts would not be unregistered and this would hit a WARN
when devm called regmap_del_irq_chip() during the removal of the
parent IRQ.

Fixes: 4e53116437e9 ("ASoC: SDCA: Fix errors in IRQ cleanup")
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20260408093835.2881486-5-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/sdca_interrupts.h
sound/soc/sdca/sdca_class_function.c
sound/soc/sdca/sdca_interrupts.c