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

Commit 576cf925 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ASoC: msm-lsm-client: Handle close gracefully"

parents 88240c83 4cfda43f
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -955,8 +955,32 @@ static int msm_lsm_close(struct snd_pcm_substream *substream)
	unsigned long flags;
	struct snd_pcm_runtime *runtime = substream->runtime;
	struct lsm_priv *prtd = runtime->private_data;
	int ret = 0;

	pr_debug("%s\n", __func__);
	if (prtd->lsm_client->started) {
		ret = q6lsm_stop(prtd->lsm_client, true);
		if (ret)
			pr_err("%s: session stop failed, err = %d\n",
				__func__, ret);
		else
			pr_debug("%s: LSM client session stopped %d\n",
				 __func__, ret);

		/*
		 * Go Ahead and try de-register sound model,
		 * even if stop failed
		 */
		prtd->lsm_client->started = false;

		ret = q6lsm_deregister_sound_model(prtd->lsm_client);
		if (ret)
			pr_err("%s: dereg_snd_model failed, err = %d\n",
				__func__, ret);
		else
			pr_debug("%s: dereg_snd_model succesful\n",
				 __func__);
	}

	q6lsm_close(prtd->lsm_client);
	q6lsm_client_free(prtd->lsm_client);