dsp: q6asm: Fix spinlock corruption during q6asm_callback

Use spin_unlock_irqrestore while unlocking mutex being locked
with spin_lock_irqsave to prevent spinlock corruption.

Change-Id: I47def0516348de7caf07134167f4962bf87bcc08
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
This commit is contained in:
Vatsal Bucha 2021-07-06 15:18:23 +05:30
commit cd8da87618

View file

@ -2562,7 +2562,8 @@ static int32_t q6asm_callback(struct apr_client_data *data, void *priv)
if (payload_size > UINT_MAX - sizeof(struct msm_adsp_event_data)) {
pr_err("%s: payload size = %d exceeds limit.\n",
__func__, payload_size);
spin_unlock(&(session[session_id].session_lock));
spin_unlock_irqrestore(
&(session[session_id].session_lock), flags);
return -EINVAL;
}