]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
ALSA: hrtimer - Fix lock-up
authorTakashi Iwai <tiwai@suse.de>
Fri, 11 Dec 2009 11:51:05 +0000 (12:51 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 18 Dec 2009 21:43:16 +0000 (13:43 -0800)
commit417cb778fa991b562e4c98151b274bd77d1a8b09
treecf2d76be9362a3357865fd8ca8ca6c482c681089
parent11df973c127790d451a4365de7180c4f3f6ba030
ALSA: hrtimer - Fix lock-up

commit fcfdebe70759c74e2e701f69aaa7f0e5e32cf5a6 upstream.

The timer stop callback can be called from snd_timer_interrupt(), which
is called from the hrtimer callback.  Since hrtimer_cancel() waits for
the callback completion, this eventually results in a lock-up.

This patch fixes the problem by just toggling a flag at stop callback
and call hrtimer_cancel() later.

Reported-and-tested-by: Wojtek Zabolotny <W.Zabolotny@elka.pw.edu.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
sound/core/hrtimer.c