On Fri, Sep 25, 2009 at 04:22:15PM +0100, Mark Hills wrote: > The driver documentation states that local interrupts are already > disabled when trigger() is called, so only a spinlock is required. Hmm. I assume you tested them well. But I remember to have had quite some trouble at this point on SMP machines and ended up with that irqsave code. However, if you're sure that fixes a bug or is not necessary, let's take the patches and I'll test them once I'm back home around mid Oct. Btw - your Signed-off-by: is missing on all of them :) Thanks, Daniel > --- > sound/usb/caiaq/audio.c | 5 ++--- > 1 files changed, 2 insertions(+), 3 deletions(-) > > diff --git a/sound/usb/caiaq/audio.c b/sound/usb/caiaq/audio.c > index 121af06..ce193a5 100644 > --- a/sound/usb/caiaq/audio.c > +++ b/sound/usb/caiaq/audio.c > @@ -72,15 +72,14 @@ static void > deactivate_substream(struct snd_usb_caiaqdev *dev, > struct snd_pcm_substream *sub) > { > - unsigned long flags; > - spin_lock_irqsave(&dev->spinlock, flags); > + spin_lock(&dev->spinlock); > > if (sub->stream == SNDRV_PCM_STREAM_PLAYBACK) > dev->sub_playback[sub->number] = NULL; > else > dev->sub_capture[sub->number] = NULL; > > - spin_unlock_irqrestore(&dev->spinlock, flags); > + spin_unlock(&dev->spinlock); > } > > static int > -- > 1.6.4.4 > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel