aboutsummaryrefslogtreecommitdiff
path: root/sound/drivers/pcsp/pcsp.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2008-11-26 14:12:42 +0100
committerTakashi Iwai <tiwai@suse.de>2008-11-26 14:12:42 +0100
commite7dd8c1bdacf658b0ade51facb2f7eaf40eb0ac4 (patch)
tree0db15820fdd391a1570e1257167e8f02532c83f5 /sound/drivers/pcsp/pcsp.c
parented313489badef16d700f5a3be50e8fd8f8294bc8 (diff)
parentbc4a68fed4b4c01005ef3c71ede6a8cbe91b7dc9 (diff)
Merge branch 'topic/misc' into topic/pcsp-fix
Conflicts: sound/drivers/pcsp/pcsp_lib.c
Diffstat (limited to 'sound/drivers/pcsp/pcsp.c')
-rw-r--r--sound/drivers/pcsp/pcsp.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/sound/drivers/pcsp/pcsp.c b/sound/drivers/pcsp/pcsp.c
index 1899cf0685b..2a02f704f36 100644
--- a/sound/drivers/pcsp/pcsp.c
+++ b/sound/drivers/pcsp/pcsp.c
@@ -96,7 +96,7 @@ static int __devinit snd_card_pcsp_probe(int devnum, struct device *dev)
return -EINVAL;
hrtimer_init(&pcsp_chip.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
- pcsp_chip.timer.cb_mode = HRTIMER_CB_SOFTIRQ;
+ pcsp_chip.timer.cb_mode = HRTIMER_CB_IRQSAFE_UNLOCKED;
pcsp_chip.timer.function = pcsp_do_timer;
card = snd_card_new(index, id, THIS_MODULE, 0);
@@ -188,10 +188,8 @@ static int __devexit pcsp_remove(struct platform_device *dev)
static void pcsp_stop_beep(struct snd_pcsp *chip)
{
- spin_lock_irq(&chip->substream_lock);
- if (!chip->playback_substream)
- pcspkr_stop_sound();
- spin_unlock_irq(&chip->substream_lock);
+ pcsp_sync_stop(chip);
+ pcspkr_stop_sound();
}
#ifdef CONFIG_PM