Merge "asoc: mbhc: ignore mbhc event report during ssr"

This commit is contained in:
Linux Build Service Account 2018-07-03 11:46:02 -07:00 • committed by Gerrit - the friendly Code Review server
commit 5ee446ca78
3 changed files with 8 additions and 0 deletions

View file

@ -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;

View file

@ -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;

View file

@ -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++) {