From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Gustaw Lewandowski Date: Wed, 17 Oct 2018 12:14:39 +0200 Subject: [PATCH] ASoC: Intel: Skylake: Fix for lockup in sst_ipc_tx_message_wait Change-Id: I25540f4255813a4eb83a12a7495c4cb84afcb741 Signed-off-by: Michal Wasko Signed-off-by: Gustaw Lewandowski --- sound/soc/intel/skylake/skl-sst-ipc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sound/soc/intel/skylake/skl-sst-ipc.c b/sound/soc/intel/skylake/skl-sst-ipc.c index 0e7b5ce64b9e..9f2621d7a535 100644 --- a/sound/soc/intel/skylake/skl-sst-ipc.c +++ b/sound/soc/intel/skylake/skl-sst-ipc.c @@ -708,8 +708,8 @@ void skl_ipc_process_reply(struct sst_generic_ipc *ipc, spin_lock_irqsave(&ipc->dsp->spinlock, flags); msg = skl_ipc_reply_get_msg(ipc, *ipc_header); + spin_unlock_irqrestore(&ipc->dsp->spinlock, flags); if (msg == NULL) { - spin_unlock_irqrestore(&ipc->dsp->spinlock, flags); dev_dbg(ipc->dev, "ipc: rx list is empty\n"); return; } @@ -753,7 +753,7 @@ void skl_ipc_process_reply(struct sst_generic_ipc *ipc, } } - + spin_lock_irqsave(&ipc->dsp->spinlock, flags); sst_ipc_tx_msg_reply_complete(ipc, msg); spin_unlock_irqrestore(&ipc->dsp->spinlock, flags); } -- https://clearlinux.org