summaryrefslogtreecommitdiffstats
path: root/sound/soc/pxa/magician.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-11-05 13:50:48 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-11-06 11:11:24 -0400
commit71a295602ed967fa22d96d57a2e38bb86de24db7 (patch)
tree7cafff050fbb140174590dcdab359653845365ca /sound/soc/pxa/magician.c
parent6424dca23e6b5a2f7a19a69cf7c0990b11717b00 (diff)
downloadblackbird-op-linux-71a295602ed967fa22d96d57a2e38bb86de24db7.tar.gz
blackbird-op-linux-71a295602ed967fa22d96d57a2e38bb86de24db7.zip
ASoC: Lock the CODEC in PXA external jack controls
When doing anything with the system, especially DAPM, we need to hold the CODEC mutex. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'sound/soc/pxa/magician.c')
-rw-r--r--sound/soc/pxa/magician.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/pxa/magician.c b/sound/soc/pxa/magician.c
index b8207ced4072..5ef0526924b9 100644
--- a/sound/soc/pxa/magician.c
+++ b/sound/soc/pxa/magician.c
@@ -72,9 +72,13 @@ static int magician_startup(struct snd_pcm_substream *substream)
struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct snd_soc_codec *codec = rtd->codec;
+ mutex_lock(&codec->mutex);
+
/* check the jack status at stream startup */
magician_ext_control(codec);
+ mutex_unlock(&codec->mutex);
+
return 0;
}
OpenPOWER on IntegriCloud