The driver documentation states that local interrupts are already disabled when trigger() is called, so only a spinlock is required. --- 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