The following commit has been merged in the linux branch: commit ac9dd9d384b018f1e1c5a9a2686ab5605ce55818 Author: Mark Hills mark@pogo.org.uk Date: Sat Oct 24 12:59:36 2009 +0100
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: Mark Hills mark@pogo.org.uk Acked-by: Daniel Mack daniel@caiaq.de Signed-off-by: Takashi Iwai tiwai@suse.de
diff --git a/sound/usb/caiaq/audio.c b/sound/usb/caiaq/audio.c index e76017c..86b2c3b 100644 --- a/sound/usb/caiaq/audio.c +++ b/sound/usb/caiaq/audio.c @@ -62,10 +62,14 @@ static void activate_substream(struct snd_usb_caiaqdev *dev, struct snd_pcm_substream *sub) { + spin_lock(&dev->spinlock); + if (sub->stream == SNDRV_PCM_STREAM_PLAYBACK) dev->sub_playback[sub->number] = sub; else dev->sub_capture[sub->number] = sub; + + spin_unlock(&dev->spinlock); }
static void