diff options
| author | Takashi Iwai <tiwai@suse.de> | 2026-10-20 12:16:21 +0200 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2026-10-20 12:58:39 +0200 |
| commit | 8a5d87c2ba30e8de31cfbe888fd4d95f43c63db9 (patch) | |
| tree | 7498668d923168fad6d1a201a3267c7b158ad8c3 /scripts/Makefile.thinlto | |
| parent | 34e3e04b8a1731a773797542f0781e99ce7cd755 (diff) | |
| download | linux-8a5d87c2ba30e8de31cfbe888fd4d95f43c63db9.tar.gz linux-8a5d87c2ba30e8de31cfbe888fd4d95f43c63db9.zip | |
ALSA: emux: Stop voices before freeing zones in all cases
The emux voice caches the soundfont zone pointer in vp->zone, which
is referred to later, e.g. in snd_emux_send_effect(). For avoiding
dangling pointers, the soundfont code calls the sample_reset callback
to stop all voices before freeing zones. However, in a few cases
(e.g. emu10k1's missing sample_reset or the call path via
remove_info()), the sample reset isn't called properly, leaving the
playing voices.
Fix it by always registering the sample_reset callback, falling back
to snd_emux_terminate_all() when the driver has no own ops, and by
calling sample_reset in remove_info() before freeing the zones.
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20261020101624.205638-2-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
