]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: timer: Revert active callback sync check at close
authorTakashi Iwai <tiwai@suse.de>
Tue, 9 Apr 2019 10:25:32 +0000 (12:25 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 9 Apr 2019 10:29:34 +0000 (12:29 +0200)
commit7a653fecd6ee6211cd5f88e157be3b76967a5570
treea6fac1cad0346f2f2bec14c8e9682221070e856e
parentc7aa7398f2d775d6fceb3707bd75ce03f4393c2d
ALSA: timer: Revert active callback sync check at close

This is essentially a revert of the commit 9939631ca90c ("ALSA: timer:
Check ack_list emptiness instead of bit flag").  The intended change
by the commit turns out to be insufficient, as snd_timer_close*()
always calls snd_timer_stop() that deletes the ack_list beforehand.

In theory, we can change the behavior of snd_timer_stop() to sync the
pending ack_list, but this will become a deadlock for the callback
like sequencer that calls again snd_timer_stop() from itself.  So,
reverting the change is a more straightforward solution.

Fixes: 9939631ca90c ("ALSA: timer: Check ack_list emptiness instead of bit flag")
Reported-by: syzbot+58813d77154713f4de15@syzkaller.appspotmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/timer.h
sound/core/timer.c