summaryrefslogtreecommitdiffstats
path: root/sound/soc/soc-jack.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-11-20 15:20:24 +0000
committerMark Brown <broonie@linaro.org>2013-11-20 15:20:24 +0000
commit8b880f48eef80309da6d1c40f7526614b19ab12c (patch)
tree1ae728f4e2c4020d62940e8cdae75a5352bc3ae1 /sound/soc/soc-jack.c
parent5e01dc7b26d9f24f39abace5da98ccbd6a5ceb52 (diff)
parent63e6d43bf80d3861dcda7ff4f37590f8de583156 (diff)
downloadop-kernel-dev-8b880f48eef80309da6d1c40f7526614b19ab12c.zip
op-kernel-dev-8b880f48eef80309da6d1c40f7526614b19ab12c.tar.gz
Merge remote-tracking branch 'asoc/fix/ab8500' into asoc-linus
Diffstat (limited to 'sound/soc/soc-jack.c')
-rw-r--r--sound/soc/soc-jack.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sound/soc/soc-jack.c b/sound/soc/soc-jack.c
index 71358e3..23d43da 100644
--- a/sound/soc/soc-jack.c
+++ b/sound/soc/soc-jack.c
@@ -65,6 +65,7 @@ void snd_soc_jack_report(struct snd_soc_jack *jack, int status, int mask)
struct snd_soc_codec *codec;
struct snd_soc_dapm_context *dapm;
struct snd_soc_jack_pin *pin;
+ unsigned int sync = 0;
int enable;
trace_snd_soc_jack_report(jack, mask, status);
@@ -92,12 +93,16 @@ void snd_soc_jack_report(struct snd_soc_jack *jack, int status, int mask)
snd_soc_dapm_enable_pin(dapm, pin->pin);
else
snd_soc_dapm_disable_pin(dapm, pin->pin);
+
+ /* we need to sync for this case only */
+ sync = 1;
}
/* Report before the DAPM sync to help users updating micbias status */
blocking_notifier_call_chain(&jack->notifier, jack->status, jack);
- snd_soc_dapm_sync(dapm);
+ if (sync)
+ snd_soc_dapm_sync(dapm);
snd_jack_report(jack->jack, jack->status);
OpenPOWER on IntegriCloud