ASoC: wcd-mbhc: Avoid fake headset report during headphone remove

When headphone is removed while 3 second polling is still in progress,
mbhc hs comparator result will be read as "0" and this causes reporting
a fake headset insert event to user-space followed by headphone removal.
Avoid sending this fake headset insert event to user-space by checking
for the microphone clamp bit from codec mbhc hardware.

CRs-fixed: 941089
Change-Id: I96d96dca92a6c99bbb25ab70a2706e730c28818b
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
This commit is contained in:
Phani Kumar Uppalapati 2016-02-26 17:56:43 -08:00 committed by David Keitel
parent 4aaf0c05a5
commit 07ceb38173

View file

@ -1311,6 +1311,7 @@ correct_plug_type:
MBHC_PLUG_TYPE_HEADSET) &&
(mbhc->current_plug !=
MBHC_PLUG_TYPE_ANC_HEADPHONE)) &&
!wcd_swch_level_remove(mbhc) &&
!mbhc->btn_press_intr) {
pr_debug("%s: cable is %sheadset\n",
__func__,