]> git.karo-electronics.de Git - karo-tx-linux.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 22:03:29 +0000 (14:03 -0800)
commitf6f725781c331351cdcaaec322706d342e285122
tree64f29a6542edad0581ad8583350bfa51f0a6d10d
parent630d0a27ad4eabede5defec0595b8a703d5b6b71
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