diff mbox series

ALSA: timer: Fix missing irq-disable at closing

Message ID 20240315101447.18395-1-tiwai@suse.de (mailing list archive)
State Accepted
Commit 587d67fd929ad89801bcc429675bda90d53f6592
Headers show
Series ALSA: timer: Fix missing irq-disable at closing | expand

Commit Message

Takashi Iwai March 15, 2024, 10:14 a.m. UTC
The conversion to guard macro dropped the irq-disablement at closing
mistakenly, which may lead to a race.  Fix it.

Fixes: beb45974dd49 ("ALSA: timer: Use guard() for locking")
Reported-by: syzbot+28c1a5a5b041a754b947@syzkaller.appspotmail.com
Closes: http://lore.kernel.org/r/0000000000000b9a510613b0145f@google.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/core/timer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/sound/core/timer.c b/sound/core/timer.c
index 15b07d09c4b7..4d2ee99c12a3 100644
--- a/sound/core/timer.c
+++ b/sound/core/timer.c
@@ -409,7 +409,7 @@  static void snd_timer_close_locked(struct snd_timer_instance *timeri,
 	struct snd_timer *timer = timeri->timer;
 
 	if (timer) {
-		guard(spinlock)(&timer->lock);
+		guard(spinlock_irq)(&timer->lock);
 		timeri->flags |= SNDRV_TIMER_IFLG_DEAD;
 	}