ALSA: hrtimer - Fix lock-up
authorTakashi Iwai <tiwai@suse.de>
Fri, 11 Dec 2009 11:51:05 +0000 (12:51 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 11 Dec 2009 11:53:27 +0000 (12:53 +0100)
commitfcfdebe70759c74e2e701f69aaa7f0e5e32cf5a6
tree4f31584d288d37d9168544bfe34d81cc4a8eef2f
parent5f60e496083efb01893a899b6885828330db971f
ALSA: hrtimer - Fix lock-up

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>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/hrtimer.c