aboutsummaryrefslogtreecommitdiff
path: root/sound/core/timer.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-07-12 13:03:35 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-12 13:03:35 -0700
commit155dbfd8846bf165bb036c4492ad121c8b059f1d (patch)
tree93c1140ecece7daac04da8a980d7b1d1e0c36bb0 /sound/core/timer.c
parent15e0c694367332d7e7114c7c73044bc5fed9ee48 (diff)
parentd2a5b9d45f31bf5e5a1b89a87421e218ebe1a6ba (diff)
Merge commit master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa of HEAD
* HEAD: [ALSA] Fix undefined (missing) references in ISA MIRO sound driver [ALSA] make sound/isa/gus/gusextreme.c:devices static [ALSA] hda-codec - Fix missing array terminators in AD1988 codec support [ALSA] Fix a deadlock in snd-rtctimer [ALSA] Fix section mismatch errors in ALSA PCI drivers [ALSA] remove unused snd_minor.name field [ALSA] Fix no mpu401 interface can cause hard freeze [ALSA] wavefront: fix __init/__devinit confusion [ALSA] Fix workaround for AD1988A rev2 codec [ALSA] trivial: Code clean up of i2c/cs8427.c [ALSA] sound/i2c/cs8427.c: don't export a static function [ALSA] intel8x0 - Add ac97 quirk for Tyan Thunder K8WE board [ALSA] Reduce the string length of Terratec Aureon 7.1 Universe [ALSA] sound/pci/Kconfig - fix broken indenting for SND_FM801_TEA575X [ALSA] fix the SND_FM801_TEA575X dependencies [ALSA] Memory leak in sound/pcmcia/pdaudiocf/pdaudiocf.c
Diffstat (limited to 'sound/core/timer.c')
-rw-r--r--sound/core/timer.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/core/timer.c b/sound/core/timer.c
index 78199f58b93..0a984e881c1 100644
--- a/sound/core/timer.c
+++ b/sound/core/timer.c
@@ -628,8 +628,9 @@ static void snd_timer_tasklet(unsigned long arg)
struct snd_timer_instance *ti;
struct list_head *p;
unsigned long resolution, ticks;
+ unsigned long flags;
- spin_lock(&timer->lock);
+ spin_lock_irqsave(&timer->lock, flags);
/* now process all callbacks */
while (!list_empty(&timer->sack_list_head)) {
p = timer->sack_list_head.next; /* get first item */
@@ -649,7 +650,7 @@ static void snd_timer_tasklet(unsigned long arg)
spin_lock(&timer->lock);
ti->flags &= ~SNDRV_TIMER_IFLG_CALLBACK;
}
- spin_unlock(&timer->lock);
+ spin_unlock_irqrestore(&timer->lock, flags);
}
/*