summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-07-11 18:00:25 +0200
committerBen Hutchings <ben@decadent.org.uk>2013-08-02 22:14:58 +0200
commit8ac7e3f3ac405c3cc4feee6a09b9b2899ec61aea (patch)
tree45fcd53e9ad22a6c0ba48203a6dae528d232b4e6 /sound
parent272f254b2719720e8a2de1d2baec234a35ea8a8f (diff)
ASoC: s6000: Fix unlocked snd_pcm_stop() call
commit 61be2b9a18ec70f3cbe3deef7a5f77869c71b5ae upstream. snd_pcm_stop() must be called in the PCM substream lock context. Acked-by: Mark Brown <broonie@linaro.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/s6000/s6000-pcm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/soc/s6000/s6000-pcm.c b/sound/soc/s6000/s6000-pcm.c
index 55efc2bdf0bd..75babaec231d 100644
--- a/sound/soc/s6000/s6000-pcm.c
+++ b/sound/soc/s6000/s6000-pcm.c
@@ -128,7 +128,9 @@ static irqreturn_t s6000_pcm_irq(int irq, void *data)
substream->runtime &&
snd_pcm_running(substream)) {
dev_dbg(pcm->dev, "xrun\n");
+ snd_pcm_stream_lock(substream);
snd_pcm_stop(substream, SNDRV_PCM_STATE_XRUN);
+ snd_pcm_stream_unlock(substream);
ret = IRQ_HANDLED;
}