From 038cb2d3d877c4bd6cf6110dc44be382d39887f4 Mon Sep 17 00:00:00 2001 From: Vatsal Bucha Date: Tue, 2 Apr 2019 15:28:11 +0530 Subject: [PATCH] dsp: q6usm: Release spinlock before return if invalid payload size Release spinlock in EVENT_READ_DONE before return if payload size is invalid. Change-Id: I0fe4f841ce73ecfc30fe70334e203443e5e2cb28 Signed-off-by: Vatsal Bucha --- dsp/q6usm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dsp/q6usm.c b/dsp/q6usm.c index 70c3a6b7721a..cd024fce8139 100644 --- a/dsp/q6usm.c +++ b/dsp/q6usm.c @@ -628,6 +628,8 @@ static int32_t q6usm_callback(struct apr_client_data *data, void *priv) (sizeof(uint32_t)*(READDONE_IDX_STATUS + 1))) { pr_err("%s: Invalid payload size for READDONE[%d]\n", __func__, data->payload_size); + spin_unlock_irqrestore(&port->dsp_lock, + dsp_flags); return -EINVAL; } if (payload[READDONE_IDX_STATUS]) {