summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/rt5682.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2021-12-31 16:21:39 +0300
committerMark Brown <broonie@kernel.org>2021-12-31 16:23:28 +0300
commit8b974c122bc649895bc07191ec34633d8087323e (patch)
treea33d32de99f1dd2756ad82f22d72a775a8fa9a86 /sound/soc/codecs/rt5682.c
parentcc5c9788106fb1b9e03c8c57d8d7166073a54416 (diff)
parent30e693ee82d20361f2caacca3b68c79e1a7cb16c (diff)
downloadlinux-8b974c122bc649895bc07191ec34633d8087323e.tar.xz
ASoC: Merge fixes
So we can send to Linus.
Diffstat (limited to 'sound/soc/codecs/rt5682.c')
-rw-r--r--sound/soc/codecs/rt5682.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/codecs/rt5682.c b/sound/soc/codecs/rt5682.c
index 4709c0628804..415ec564c82e 100644
--- a/sound/soc/codecs/rt5682.c
+++ b/sound/soc/codecs/rt5682.c
@@ -929,6 +929,8 @@ int rt5682_headset_detect(struct snd_soc_component *component, int jack_insert)
unsigned int val, count;
if (jack_insert) {
+ snd_soc_dapm_mutex_lock(dapm);
+
snd_soc_component_update_bits(component, RT5682_PWR_ANLG_1,
RT5682_PWR_VREF2 | RT5682_PWR_MB,
RT5682_PWR_VREF2 | RT5682_PWR_MB);
@@ -979,6 +981,8 @@ int rt5682_headset_detect(struct snd_soc_component *component, int jack_insert)
snd_soc_component_update_bits(component, RT5682_MICBIAS_2,
RT5682_PWR_CLK25M_MASK | RT5682_PWR_CLK1M_MASK,
RT5682_PWR_CLK25M_PU | RT5682_PWR_CLK1M_PU);
+
+ snd_soc_dapm_mutex_unlock(dapm);
} else {
rt5682_enable_push_button_irq(component, false);
snd_soc_component_update_bits(component, RT5682_CBJ_CTRL_1,