diff options
author | Mark Hills <mark@pogo.org.uk> | 2009-10-24 12:59:36 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-10-30 12:29:42 +0100 |
commit | ac9dd9d384b018f1e1c5a9a2686ab5605ce55818 (patch) | |
tree | 4fad8ff7d5702231f0e01a4bd568d26b934223a1 /sound/usb | |
parent | 3702b082281929cf1bdf14f67eb0619aab58b496 (diff) | |
download | op-kernel-dev-ac9dd9d384b018f1e1c5a9a2686ab5605ce55818.zip op-kernel-dev-ac9dd9d384b018f1e1c5a9a2686ab5605ce55818.tar.gz |
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>
Diffstat (limited to 'sound/usb')
-rw-r--r-- | sound/usb/caiaq/audio.c | 4 |
1 files changed, 4 insertions, 0 deletions
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 |