mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-14 04:09:18 -04:00
ALSA: hda: Disable jack polling at shutdown
Although the jack polling is canceled at shutdown in snd_hda_codec_shutdown(), it might be still re-triggered when the work is being processed at cancel_delayed_work_sync() call. This may result in the unexpected hardware access that should have been already disabled. For assuring to stop the jack polling, clear codec->jackpoll_interval at shutdown. Reported-by: Joakim Zhang <joakim.zhang@cixtech.com> Closes: https://lore.kernel.org/20250619020844.2974160-4-joakim.zhang@cixtech.com Tested-by: Joakim Zhang <joakim.zhang@cixtech.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Link: https://patch.msgid.link/20250623131437.10670-2-tiwai@suse.de
This commit is contained in:
@@ -3020,6 +3020,7 @@ void snd_hda_codec_shutdown(struct hda_codec *codec)
|
||||
if (!codec->core.registered)
|
||||
return;
|
||||
|
||||
codec->jackpoll_interval = 0; /* don't poll any longer */
|
||||
cancel_delayed_work_sync(&codec->jackpoll_work);
|
||||
list_for_each_entry(cpcm, &codec->pcm_list_head, list)
|
||||
snd_pcm_suspend_all(cpcm->pcm);
|
||||
|
||||
Reference in New Issue
Block a user