diff --git a/asoc/codecs/wcd-mbhc-adc.c b/asoc/codecs/wcd-mbhc-adc.c index ad2bc5165b93..ebcedb9ae059 100644 --- a/asoc/codecs/wcd-mbhc-adc.c +++ b/asoc/codecs/wcd-mbhc-adc.c @@ -905,11 +905,6 @@ report: goto exit; } - if ((plug_type == MBHC_PLUG_TYPE_HEADSET || - plug_type == MBHC_PLUG_TYPE_HEADPHONE)) - if (mbhc->mbhc_cb->bcs_enable) - mbhc->mbhc_cb->bcs_enable(mbhc, true); - pr_debug("%s: Valid plug found, plug type %d wrk_cmpt %d btn_intr %d\n", __func__, plug_type, wrk_complete, mbhc->btn_press_intr); @@ -932,6 +927,11 @@ enable_supply: else WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_DETECTION_DONE, 0); + if ((plug_type == MBHC_PLUG_TYPE_HEADSET || + plug_type == MBHC_PLUG_TYPE_HEADPHONE)) + if (mbhc->mbhc_cb->bcs_enable) + mbhc->mbhc_cb->bcs_enable(mbhc, true); + if (mbhc->mbhc_cb->mbhc_micbias_control) wcd_mbhc_adc_update_fsm_source(mbhc, plug_type); exit: