mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 07:31:45 +00:00
ALSA: pcm: Block the release until the system resume finishes
The normal PCM operations are already blocked during the card power off state in the PCM common ioctl handler, but the release isn't covered. As the PCM stream release may also access the hardware, let's block the release until the card power turns on. Reviewed-by: Jaroslav Kysela <perex@perex.cz> Link: https://lore.kernel.org/r/20210523090920.15345-7-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
b6cc78da36
commit
534a427bfa
@ -2799,6 +2799,10 @@ static int snd_pcm_release(struct inode *inode, struct file *file)
|
||||
if (snd_BUG_ON(!substream))
|
||||
return -ENXIO;
|
||||
pcm = substream->pcm;
|
||||
|
||||
/* block until the device gets woken up as it may touch the hardware */
|
||||
snd_power_wait(pcm->card);
|
||||
|
||||
mutex_lock(&pcm->open_mutex);
|
||||
snd_pcm_release_substream(substream);
|
||||
kfree(pcm_file);
|
||||
|
Loading…
Reference in New Issue
Block a user