Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7d7c9b7c authored by dojha's avatar dojha Committed by Gerrit - the friendly Code Review server
Browse files

ASoC: wcd-mbhc: disable fake electrical interrupts



Electrical interrupts are enabled across mechanical removal of
headphone. This causes fake electrical removal interrupts during
cross connection check. So disable electrical interrupts during
removal of headphone.

CRs-Fixed: 1030696
Change-Id: Ib4cc92b86f01991d8d8dbad54c68ee79cbaea44a
Signed-off-by: default avatardojha <dojha@codeaurora.org>
parent e99d73e0
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1549,6 +1549,13 @@ static void wcd_mbhc_swch_irq_handler(struct wcd_mbhc *mbhc)

		mbhc->btn_press_intr = false;
		if (mbhc->current_plug == MBHC_PLUG_TYPE_HEADPHONE) {
			wcd_mbhc_hs_elec_irq(mbhc, WCD_MBHC_ELEC_HS_REM,
					     false);
			wcd_mbhc_hs_elec_irq(mbhc, WCD_MBHC_ELEC_HS_INS,
					     false);
			WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_ELECT_DETECTION_TYPE,
						 1);
			WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_ELECT_SCHMT_ISRC, 0);
			wcd_mbhc_report_plug(mbhc, 0, SND_JACK_HEADPHONE);
		} else if (mbhc->current_plug == MBHC_PLUG_TYPE_GND_MIC_SWAP) {
			wcd_mbhc_report_plug(mbhc, 0, SND_JACK_UNSUPPORTED);