ASoC: wcd9xxx: Handle fake mechanical interrupt

Handle fake mechanical interrupt during slow insertion of
headset usecase when the plug type is detected as lineout.

CRs-Fixed: 754305
Change-Id: I559309915771b633c6f1677f020459b8afc1f574
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: Shreyas Nagasandra Chandrasekhar <snagas@codeaurora.org>
This commit is contained in:
Sudheer Papothi
2015-03-16 16:26:54 +05:30
committed by Shreyas Nagasandra Chandrasekhar
parent d25acdbef8
commit 3b18f8660e
+5 -1
View File
@@ -3221,9 +3221,13 @@ static void wcd9xxx_swch_irq_handler(struct wcd9xxx_mbhc *mbhc)
&mbhc->correct_plug_swch);
if ((mbhc->current_plug != PLUG_TYPE_NONE) &&
(mbhc->current_plug != PLUG_TYPE_HIGH_HPH) &&
!(snd_soc_read(codec, WCD9XXX_A_MBHC_INSERT_DETECT) &
(1 << 1)))
(1 << 1))) {
pr_debug("%s: current plug: %d\n", __func__,
mbhc->current_plug);
goto exit;
}
/* Disable Mic Bias pull down and HPH Switch to GND */
snd_soc_update_bits(codec, mbhc->mbhc_bias_regs.ctl_reg, 0x01,