]> git.hungrycats.org Git - linux/commit
ASoC: sdw_utils: fix double put_device() on aggregated amps
authorJack Yu <jack.yu@realtek.com>
Tue, 18 Aug 2026 02:30:18 +0000 (10:30 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 18 Aug 2026 17:29:43 +0000 (18:29 +0100)
commit046173b98de316211b81d9909cde81ca582604a8
tree16d6009164e7e078cc527ae6ca432669e3bd3b1a
parentdd0ae9a2e19a24c532c9aa80a44f572b4907bcdf
ASoC: sdw_utils: fix double put_device() on aggregated amps

In aggregation mode with two identical amplifiers,
a stress test that repeatedly triggers card unbind/rebind
can hit a NULL pointer dereference during the exit path.
ctx->amp_dev1 / ctx->amp_dev2 are single shared resources,
so the release must be safe against being called more than once.
Clear each pointer after put_device() so a second invocation
becomes a no-op, this could address NULL pointer dereference issue.

Signed-off-by: Jack Yu <jack.yu@realtek.com>
Link: https://patch.msgid.link/20260818023018.2564212-1-jack.yu@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sdw_utils/soc_sdw_rt_amp.c