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

Commit 3dd07e69 authored by Karthikeyan Mani's avatar Karthikeyan Mani Committed by Gerrit - the friendly Code Review server
Browse files

asoc: mbhc: ignore mbhc event report during ssr



When ssr is in progress, during some race conditions
mbhc events are getting reported when codec is still
coming up. Ignore such events without reporting.

Change-Id: I3d3f78f97c2b855fc36a480f38c166bda2d979f0
Signed-off-by: default avatarKarthikeyan Mani <kmani@codeaurora.org>
parent ec7e65b4
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -776,6 +776,11 @@ void wcd_mbhc_find_plug_and_report(struct wcd_mbhc *mbhc,
	bool anc_mic_found = false;
	enum snd_jack_types jack_type;

	if (mbhc->deinit_in_progress) {
		pr_info("%s: mbhc deinit in progess: ignore report\n");
		return;
	}

	pr_debug("%s: enter current_plug(%d) new_plug(%d)\n",
		 __func__, mbhc->current_plug, plug_type);

@@ -1882,6 +1887,7 @@ int wcd_mbhc_init(struct wcd_mbhc *mbhc, struct snd_soc_codec *codec,
		goto err_hphr_ocp_irq;
	}

	mbhc->deinit_in_progress = false;
	pr_debug("%s: leave ret %d\n", __func__, ret);
	return ret;

+1 −0
Original line number Diff line number Diff line
@@ -582,6 +582,7 @@ struct wcd_mbhc {
	struct completion btn_press_compl;
	struct mutex hphl_pa_lock;
	struct mutex hphr_pa_lock;
	bool deinit_in_progress;

	/* Holds mbhc detection method - ADC/Legacy */
	unsigned int mbhc_detection_logic;
+1 −0
Original line number Diff line number Diff line
@@ -9980,6 +9980,7 @@ static int tavil_device_down(struct wcd9xxx *wcd9xxx)
	for (count = 0; count < NUM_CODEC_DAIS; count++)
		priv->dai[count].bus_down_in_recovery = true;

	priv->mbhc->wcd_mbhc.deinit_in_progress = true;
	if (delayed_work_pending(&priv->spk_anc_dwork.dwork))
		cancel_delayed_work(&priv->spk_anc_dwork.dwork);
	for (decimator = 0; decimator < WCD934X_NUM_DECIMATORS; decimator++) {