Loading sound/soc/msm/qdsp6v2/msm-lsm-client.c +24 −0 Original line number Diff line number Diff line Loading @@ -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); Loading Loading
sound/soc/msm/qdsp6v2/msm-lsm-client.c +24 −0 Original line number Diff line number Diff line Loading @@ -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); Loading