From: Tristan Madani <tristmd@gmail.com>
To: Mark Brown <broonie@kernel.org>, Takashi Iwai <tiwai@suse.com>
Cc: Oder Chiou <oder_chiou@realtek.com>,
Bard Liao <bardliao@realtek.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Jaroslav Kysela <perex@perex.cz>,
Jorge Eduardo Candelaria <jorge.candelaria@ti.com>,
linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org,
stable@vger.kernel.org,
Tristan Madani <tristan@talencesecurity.com>
Subject: [PATCH 0/4] ASoC: cancel pending delayed works on component remove
Date: Mon, 26 Oct 2026 11:22:08 +0000 [thread overview]
Message-ID: <20261026112212.2519775-1-tristmd@gmail.com> (raw)
From: Tristan Madani <tristan@talencesecurity.com>
Four ASoC codec drivers initialise delayed works that are not
cancelled during component removal. If the card is unbound while
these works are pending, callbacks fire after DAPM widgets are freed.
rt5668 and rt5659 share the same pattern: the IRQ handler reschedules
work after the codec is reset. Track IRQ acquisition so that
disable_irq() only quiesces a line the driver owns, then drain all
delayed works before resetting the hardware.
twl6040 frees the plug-detect IRQ but does not drain the work that the
handler schedules.
wm8994 frees IRQs and firmware but does not cancel any of the four
delayed works that IRQ handlers and DAPM events schedule.
Tristan Madani (4):
ASoC: rt5668: cancel pending delayed works on component remove
ASoC: rt5659: cancel jack_detect_work on component remove
ASoC: twl6040: cancel headset jack work on component remove
ASoC: wm8994: drain all delayed works on component remove
sound/soc/codecs/rt5659.c | 17 ++++++++++++++++-
sound/soc/codecs/rt5659.h | 2 ++
sound/soc/codecs/rt5668.c | 20 +++++++++++++++++++-
sound/soc/codecs/twl6040.c | 1 +
sound/soc/codecs/wm8994.c | 4 ++++
5 files changed, 42 insertions(+), 2 deletions(-)
--
2.47.3
next reply other threads:[~2026-10-26 11:22 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-26 11:22 Tristan Madani [this message]
2026-10-26 11:22 ` [PATCH 1/4] ASoC: rt5668: cancel pending delayed works on component remove Tristan Madani
2026-10-26 12:21 ` sashiko-bot
2026-10-26 11:22 ` [PATCH 2/4] ASoC: rt5659: cancel jack_detect_work " Tristan Madani
2026-10-26 12:41 ` sashiko-bot
2026-10-26 19:16 ` Mark Brown
2026-10-26 11:22 ` [PATCH 3/4] ASoC: twl6040: cancel headset jack work " Tristan Madani
2026-10-26 11:22 ` [PATCH 4/4] ASoC: wm8994: drain all delayed works " Tristan Madani
2026-10-26 12:57 ` sashiko-bot
2026-10-26 19:16 ` Mark Brown
2026-10-29 10:25 ` [PATCH v9] ASoC: wm8994: drain delayed works on remove and probe error Tristan Madani
2026-10-29 10:42 ` sashiko-bot
2026-10-29 10:57 ` [PATCH v10] " Tristan Madani
2026-10-29 11:11 ` sashiko-bot
2026-10-29 11:18 ` Mark Brown
2026-10-29 11:10 ` [PATCH v9] " Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261026112212.2519775-1-tristmd@gmail.com \
--to=tristmd@gmail.com \
--cc=bardliao@realtek.com \
--cc=broonie@kernel.org \
--cc=jorge.candelaria@ti.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=oder_chiou@realtek.com \
--cc=perex@perex.cz \
--cc=stable@vger.kernel.org \
--cc=tiwai@suse.com \
--cc=tristan@talencesecurity.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.