diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-23 08:37:23 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-23 08:37:23 -0700 |
| commit | 101e4d91f5e8c78d64970c03323d942d6706320f (patch) | |
| tree | ce0e6a0a172ee9fbe638a60c124512bac8373dbc /sound/core/control.c | |
| parent | 2f2c2679893c963bd90c5e1c0669b97fd87d1c4a (diff) | |
| parent | 9efbf95f6204da0112371f41e63c7330f94e1042 (diff) | |
Merge branch 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa
* 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa:
[ALSA] version 1.0.15
[ALSA] hda-codec - Fix possible array overflow
[ALSA] sound/core/control.c: hard-irq-safe -> hard-irq-unsafe lock warning
[ALSA] usb-audio: Another USB mic quirk for Logitech Communicator webcam
[ALSA] hda-codec - Fix build without CONFIG_SND_HDA_GENERIC
[ALSA] hda-codec - Fix Conexant 5045 volumes
[ALSA] hda-codec - Fix conflict of Master volume in STAC92xx codec
[ALSA] snd-bt87x: Make the load_all option work correctly
[ALSA] protect Dreamcast PCM driver (AICA) from G2 bus effects
[ALSA] bt87x - Fix section mismatch
[ALSA] hda-codec - Fix AD1986A Lenovo auto-mute
[ALSA] This simplifies and fixes waiting loops of the mce_down()
Diffstat (limited to 'sound/core/control.c')
| -rw-r--r-- | sound/core/control.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/core/control.c b/sound/core/control.c index 4c3aa8e1037..df0774c76f6 100644 --- a/sound/core/control.c +++ b/sound/core/control.c @@ -93,15 +93,16 @@ static int snd_ctl_open(struct inode *inode, struct file *file) static void snd_ctl_empty_read_queue(struct snd_ctl_file * ctl) { + unsigned long flags; struct snd_kctl_event *cread; - spin_lock(&ctl->read_lock); + spin_lock_irqsave(&ctl->read_lock, flags); while (!list_empty(&ctl->events)) { cread = snd_kctl_event(ctl->events.next); list_del(&cread->list); kfree(cread); } - spin_unlock(&ctl->read_lock); + spin_unlock_irqrestore(&ctl->read_lock, flags); } static int snd_ctl_release(struct inode *inode, struct file *file) |
