ALSA: timer: Fix missing irq-disable at closing
The conversion to guard macro dropped the irq-disablement at closing
mistakenly, which may lead to a race. Fix it.
Fixes: beb45974dd
("ALSA: timer: Use guard() for locking")
Reported-by: syzbot+28c1a5a5b041a754b947@syzkaller.appspotmail.com
Closes: http://lore.kernel.org/r/0000000000000b9a510613b0145f@google.com
Message-ID: <20240315101447.18395-1-tiwai@suse.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
9b714a59b7
commit
587d67fd92
|
@ -409,7 +409,7 @@ static void snd_timer_close_locked(struct snd_timer_instance *timeri,
|
||||||
struct snd_timer *timer = timeri->timer;
|
struct snd_timer *timer = timeri->timer;
|
||||||
|
|
||||||
if (timer) {
|
if (timer) {
|
||||||
guard(spinlock)(&timer->lock);
|
guard(spinlock_irq)(&timer->lock);
|
||||||
timeri->flags |= SNDRV_TIMER_IFLG_DEAD;
|
timeri->flags |= SNDRV_TIMER_IFLG_DEAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue