diff --git a/dsp/q6lsm.c b/dsp/q6lsm.c index 6af7f6953507..73043f52e359 100644 --- a/dsp/q6lsm.c +++ b/dsp/q6lsm.c @@ -311,6 +311,11 @@ struct lsm_client *q6lsm_client_alloc(lsm_app_cb cb, void *priv) kfree(client); return NULL; } + + init_waitqueue_head(&client->cmd_wait); + mutex_init(&client->cmd_lock); + atomic_set(&client->cmd_state, CMD_STATE_CLEARED); + pr_debug("%s: Client Session %d\n", __func__, client->session); client->apr = apr_register("ADSP", "LSM", q6lsm_callback, ((client->session) << 8 | client->session), @@ -328,9 +333,6 @@ struct lsm_client *q6lsm_client_alloc(lsm_app_cb cb, void *priv) goto fail; } - init_waitqueue_head(&client->cmd_wait); - mutex_init(&client->cmd_lock); - atomic_set(&client->cmd_state, CMD_STATE_CLEARED); pr_debug("%s: New client allocated\n", __func__); return client; fail: