Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cd8da876 authored by Vatsal Bucha's avatar Vatsal Bucha
Browse files

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: default avatarVatsal Bucha <vbucha@codeaurora.org>
parent e73ea1c0
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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;
		}