ALSA: hda: Skip codec shutdown in case the codec is not registered
If the codec->registered is not set then it means that pm_runtime is
not yet enabled and the codec->pcm_list_head has not been initialized.
The access to the not initialized pcm_list_head will lead a kernel crash
during shutdown.
Reported-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Tested-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Fixes: b98444ed59
("ALSA: hda: Suspend codec at shutdown")
Link: https://lore.kernel.org/r/20220201112144.29411-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
4ee02e2089
commit
1c7f0e349a
|
@ -3000,6 +3000,10 @@ void snd_hda_codec_shutdown(struct hda_codec *codec)
|
|||
{
|
||||
struct hda_pcm *cpcm;
|
||||
|
||||
/* Skip the shutdown if codec is not registered */
|
||||
if (!codec->registered)
|
||||
return;
|
||||
|
||||
list_for_each_entry(cpcm, &codec->pcm_list_head, list)
|
||||
snd_pcm_suspend_all(cpcm->pcm);
|
||||
|
||||
|
|
Loading…
Reference in New Issue