ALSA: aloop - Fix possible IRQ lock inversion
authorTakashi Iwai <tiwai@suse.de>
Fri, 18 Mar 2011 06:31:53 +0000 (07:31 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 23 Mar 2011 20:04:00 +0000 (13:04 -0700)
commit74d5036bb343ce72af45f8bdcbd5dd87459d1216
tree661f656c81003c8e67f3b920aa2e46facd222c14
parentf97aa1f43ed9e241a05f7e4d2e4afedf97356f7a
ALSA: aloop - Fix possible IRQ lock inversion

commit 98d21df431ad55281e1abf780f8d51e3391900b2 upstream.

loopback_pos_update() can be called in the timer callback, thus the lock
held should be irq-safe.  Otherwise you'll get AB/BA deadlock together
with substream->self_group.lock.

Reported-and-tested-by: Knut Petersen <Knut_Petersen@t-online.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
sound/drivers/aloop.c