ASoC: SOF: Intel: hda-ipc: Don't read mailbox for PM_GATE reply
authorKeyon Jie <yang.jie@linux.intel.com>
Fri, 25 Oct 2019 22:41:10 +0000 (17:41 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 28 Oct 2019 14:43:49 +0000 (14:43 +0000)
Memory windows could be powered off before receiving PM_GATE IPC reply
from FW, we can't read the mailbox to get reply.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20191025224122.7718-15-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda-ipc.c

index 6aae6f1..0fd2153 100644 (file)
@@ -83,10 +83,12 @@ void hda_dsp_ipc_get_reply(struct snd_sof_dev *sdev)
        }
 
        hdr = msg->msg_data;
-       if (hdr->cmd == (SOF_IPC_GLB_PM_MSG | SOF_IPC_PM_CTX_SAVE)) {
+       if (hdr->cmd == (SOF_IPC_GLB_PM_MSG | SOF_IPC_PM_CTX_SAVE) ||
+           hdr->cmd == (SOF_IPC_GLB_PM_MSG | SOF_IPC_PM_GATE)) {
                /*
                 * memory windows are powered off before sending IPC reply,
-                * so we can't read the mailbox for CTX_SAVE reply.
+                * so we can't read the mailbox for CTX_SAVE and PM_GATE
+                * replies.
                 */
                reply.error = 0;
                reply.hdr.cmd = SOF_IPC_GLB_REPLY;