ASoC: wcd-mbhc: Fix playback pause during lineout insertion
Playback pauses during aux cable insertion as removal of cable is reported followed by insertion. Report removal of current cable only when headset connected to other end of extension cable and not lineout. Change-Id: I08933f4a88493136a518ee72646aa10b1f06eb70 Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
This commit is contained in:

committad av
Gerrit - the friendly Code Review server

förälder
d155d7f509
incheckning
c2e5189852
@@ -1115,6 +1115,7 @@ static irqreturn_t wcd_mbhc_adc_hs_ins_irq(int irq, void *data)
|
|||||||
WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_ELECT_ISRC_EN, 0);
|
WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_ELECT_ISRC_EN, 0);
|
||||||
mbhc->is_extn_cable = true;
|
mbhc->is_extn_cable = true;
|
||||||
mbhc->btn_press_intr = false;
|
mbhc->btn_press_intr = false;
|
||||||
|
mbhc->force_linein = false;
|
||||||
wcd_mbhc_adc_detect_plug_type(mbhc);
|
wcd_mbhc_adc_detect_plug_type(mbhc);
|
||||||
WCD_MBHC_RSC_UNLOCK(mbhc);
|
WCD_MBHC_RSC_UNLOCK(mbhc);
|
||||||
pr_debug("%s: leave\n", __func__);
|
pr_debug("%s: leave\n", __func__);
|
||||||
|
@@ -641,11 +641,12 @@ void wcd_mbhc_report_plug(struct wcd_mbhc *mbhc, int insertion,
|
|||||||
}
|
}
|
||||||
mbhc->hph_type = WCD_MBHC_HPH_NONE;
|
mbhc->hph_type = WCD_MBHC_HPH_NONE;
|
||||||
mbhc->zl = mbhc->zr = 0;
|
mbhc->zl = mbhc->zr = 0;
|
||||||
pr_debug("%s: Reporting removal (%x)\n",
|
if (!mbhc->force_linein) {
|
||||||
__func__, mbhc->hph_status);
|
pr_debug("%s: Reporting removal (%x)\n",
|
||||||
wcd_mbhc_jack_report(mbhc, &mbhc->headset_jack,
|
__func__, mbhc->hph_status);
|
||||||
0, WCD_MBHC_JACK_MASK);
|
wcd_mbhc_jack_report(mbhc, &mbhc->headset_jack,
|
||||||
|
0, WCD_MBHC_JACK_MASK);
|
||||||
|
}
|
||||||
if (mbhc->hph_status == SND_JACK_LINEOUT) {
|
if (mbhc->hph_status == SND_JACK_LINEOUT) {
|
||||||
|
|
||||||
pr_debug("%s: Enable micbias\n", __func__);
|
pr_debug("%s: Enable micbias\n", __func__);
|
||||||
|
Referens i nytt ärende
Block a user