diff --git a/dsp/q6lsm.c b/dsp/q6lsm.c index d55dfc313c39..d27bbac68e88 100644 --- a/dsp/q6lsm.c +++ b/dsp/q6lsm.c @@ -372,9 +372,9 @@ void q6lsm_client_free(struct lsm_client *client) pr_err("%s: Invalid Session %d\n", __func__, client->session); return; } - mutex_lock(&session_lock); apr_deregister(client->apr); client->mmap_apr = NULL; + mutex_lock(&session_lock); q6lsm_session_free(client); q6lsm_mmap_apr_dereg(); mutex_destroy(&client->cmd_lock);