aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/drivers/pcsp/pcsp.c5
-rw-r--r--sound/drivers/pcsp/pcsp_lib.c2
2 files changed, 4 insertions, 3 deletions
diff --git a/sound/drivers/pcsp/pcsp.c b/sound/drivers/pcsp/pcsp.c
index 547005cb0942..ac57e87d01bc 100644
--- a/sound/drivers/pcsp/pcsp.c
+++ b/sound/drivers/pcsp/pcsp.c
@@ -191,11 +191,10 @@ static int __devexit pcsp_remove(struct platform_device *dev)
191 191
192static void pcsp_stop_beep(struct snd_pcsp *chip) 192static void pcsp_stop_beep(struct snd_pcsp *chip)
193{ 193{
194 unsigned long flags; 194 spin_lock_irq(&chip->substream_lock);
195 spin_lock_irqsave(&chip->substream_lock, flags);
196 if (!chip->playback_substream) 195 if (!chip->playback_substream)
197 pcspkr_stop_sound(); 196 pcspkr_stop_sound();
198 spin_unlock_irqrestore(&chip->substream_lock, flags); 197 spin_unlock_irq(&chip->substream_lock);
199} 198}
200 199
201static int pcsp_suspend(struct platform_device *dev, pm_message_t state) 200static int pcsp_suspend(struct platform_device *dev, pm_message_t state)
diff --git a/sound/drivers/pcsp/pcsp_lib.c b/sound/drivers/pcsp/pcsp_lib.c
index a302756eac7c..54253e9b4b02 100644
--- a/sound/drivers/pcsp/pcsp_lib.c
+++ b/sound/drivers/pcsp/pcsp_lib.c
@@ -305,7 +305,9 @@ static int snd_pcsp_playback_open(struct snd_pcm_substream *substream)
305 return -EBUSY; 305 return -EBUSY;
306 } 306 }
307 runtime->hw = snd_pcsp_playback; 307 runtime->hw = snd_pcsp_playback;
308 spin_lock_irq(&chip->substream_lock);
308 chip->playback_substream = substream; 309 chip->playback_substream = substream;
310 spin_unlock_irq(&chip->substream_lock);
309 return 0; 311 return 0;
310} 312}
311 313