Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ac9dd9d3 authored by Mark Hills's avatar Mark Hills Committed by Takashi Iwai
Browse files

ALSA: snd-usb-caiaq: Lock on stream start/unpause



Fix a bug which can result in white noise from the driver after stream
start or unpause.

Signed-off-by: default avatarMark Hills <mark@pogo.org.uk>
Acked-by: default avatarDaniel Mack <daniel@caiaq.de>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 3702b082
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -62,10 +62,14 @@ static void
activate_substream(struct snd_usb_caiaqdev *dev,
activate_substream(struct snd_usb_caiaqdev *dev,
	           struct snd_pcm_substream *sub)
	           struct snd_pcm_substream *sub)
{
{
	spin_lock(&dev->spinlock);

	if (sub->stream == SNDRV_PCM_STREAM_PLAYBACK)
	if (sub->stream == SNDRV_PCM_STREAM_PLAYBACK)
		dev->sub_playback[sub->number] = sub;
		dev->sub_playback[sub->number] = sub;
	else
	else
		dev->sub_capture[sub->number] = sub;
		dev->sub_capture[sub->number] = sub;

	spin_unlock(&dev->spinlock);
}
}


static void
static void