[alsa-devel] [PATCH 3/3] sound: dummy, avoid races with timer
Jiri Slaby
jslaby at suse.cz
Mon Jan 19 10:53:55 CET 2015
On 01/19/2015, 10:49 AM, Takashi Iwai wrote:
>> @@ -322,12 +325,14 @@ static snd_pcm_uframes_t
>> dummy_systimer_pointer(struct snd_pcm_substream *substream)
>> {
>> struct dummy_systimer_pcm *dpcm = substream->runtime->private_data;
>> + unsigned long flags;
>> snd_pcm_uframes_t pos;
>>
>> - spin_lock(&dpcm->lock);
>> + spin_lock_irqsave(&dpcm->lock, flags);
>> dummy_systimer_update(dpcm);
>> pos = dpcm->frac_pos / HZ;
>> - spin_unlock(&dpcm->lock);
>> + spin_unlock_irqrestore(&dpcm->lock, flags);
>> +
>
> This chunk is superfluous. The pointer callback is guaranteed to be
> called in the irq-disabled context.
Oh, my bad, I was looking at snd_compr_ops->pointer which is not the case.
--
js
suse labs
More information about the Alsa-devel
mailing list