[alsa-devel] Is locking problem in snd_intel8x0_pcm_pointer() ?

Takashi Iwai tiwai at suse.de
Mon Oct 24 15:11:46 CEST 2011


At Mon, 24 Oct 2011 15:48:44 +0400,
Konstantin Ozerkov wrote:
> 
> Seems that locking is broken: snd_intel8x0_pcm_pointer() uses spin_lock()/spin_unlock() semantic
> for lock which is shared in ISR ( snd_intel8x0_update). As result we got possible deadlock inside ISR
> on UP system. And needed special kludge inside snd_intel8x0_pcm_pointer() to prevent moving
> backward (really this is race with snd_intel8x0_update).

Hm, could you elaborate how can it a problem?
snd_intel8x0_update() releases the lock before calling
snd_pcm_period_update() that calls the pointer callback.


Takashi


More information about the Alsa-devel mailing list