diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-05-28 13:52:08 +0200 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-05-28 16:22:36 +0200 |
commit | 9767a58b8b2a0b153c246fb6306c7d48d51bb379 (patch) | |
tree | 5131e2f2e7aa45cbfd11d199c28436f9fa7e8773 /sound | |
parent | ASoC: wm8994: use the correct pointer to get the control value (diff) | |
download | linux-9767a58b8b2a0b153c246fb6306c7d48d51bb379.tar.xz linux-9767a58b8b2a0b153c246fb6306c7d48d51bb379.zip |
ASoC: wm8994: Fix reporting of accessory removal on WM8958
During recent refactoring the code to report removal when MICDET reports
an absent microphone was removed, causing problems for systems which rely
solely on the MICDET for this functionality. Restore it.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/wm8994.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c index 62dc30598084..b38382cc4b59 100644 --- a/sound/soc/codecs/wm8994.c +++ b/sound/soc/codecs/wm8994.c @@ -3833,6 +3833,11 @@ static irqreturn_t wm8958_mic_irq(int irq, void *data) dev_dbg(codec->dev, "Ignoring removed jack\n"); return IRQ_HANDLED; } + } else if (!(reg & WM8958_MICD_STS)) { + snd_soc_jack_report(wm8994->micdet[0].jack, 0, + SND_JACK_MECHANICAL | SND_JACK_HEADSET | + wm8994->btn_mask); + goto out; } if (wm8994->mic_detecting) |