ASoC: rt286: fix unexpected interrupt happens
authorShuming Fan <shumingf@realtek.com>
Thu, 9 Jul 2020 10:13:45 +0000 (18:13 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 9 Jul 2020 18:55:28 +0000 (19:55 +0100)
The HV/VREF should not turn off if the headphone jack plug-in.
This patch could solve the unexpected interrupt issue in some devices.

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Tested-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20200709101345.11449-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt286.c

index 9593a9a..e8d14ee 100644 (file)
@@ -272,13 +272,13 @@ static int rt286_jack_detect(struct rt286_priv *rt286, bool *hp, bool *mic)
                regmap_read(rt286->regmap, RT286_GET_MIC1_SENSE, &buf);
                *mic = buf & 0x80000000;
        }
-       if (!*mic) {
+
+       if (!*hp) {
                snd_soc_dapm_disable_pin(dapm, "HV");
                snd_soc_dapm_disable_pin(dapm, "VREF");
-       }
-       if (!*hp)
                snd_soc_dapm_disable_pin(dapm, "LDO1");
-       snd_soc_dapm_sync(dapm);
+               snd_soc_dapm_sync(dapm);
+       }
 
        return 0;
 }