[alsa-devel] [PATCH 1/4] snd-usb-caiaq: Do not disable local interrupts

Mark Hills mark at pogo.org.uk
Sat Sep 26 18:06:23 CEST 2009


On Fri, 25 Sep 2009, Daniel Mack wrote:

> 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.

I did check both non and SMP machines, and it corresponds to the docs. I 
also removed the patches to verify I could reproduce the original 
problems.

As I missed off the the Signed-off-by, I'll not rush to resubmit them; 
let's wait until you have also tested them.

> 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
>>
>

-- 
Mark


More information about the Alsa-devel mailing list