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

Commit 65e69e25 authored by Vatsal Bucha's avatar Vatsal Bucha
Browse files

ASoC: mbhc-adc: Resolve bcs not enabled for us headset



BCS is not enabled for us headset as after 3sec loop
we directly switch to report headset and bcs is still disabled.
Enable bcs only after reporting valid plug to resolve issue.

Change-Id: I69bb71d20583fd2e2be921e9b657d9c44c047708
Signed-off-by: default avatarVatsal Bucha <vbucha@codeaurora.org>
parent 659f37f7
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
 */
#include <linux/module.h>
#include <linux/init.h>
@@ -872,11 +872,6 @@ static void wcd_correct_swch_plug(struct work_struct *work)
			wrk_complete = false;
		}
	}
	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 (!wrk_complete) {
		/*
		 * If plug_tye is headset, we might have already reported either
@@ -910,6 +905,11 @@ static void wcd_correct_swch_plug(struct work_struct *work)
		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);