ASoC: SOF: ipc: ignore DSP replies received when they are not expected
authorRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Tue, 26 May 2020 20:36:37 +0000 (15:36 -0500)
committerMark Brown <broonie@kernel.org>
Wed, 27 May 2020 13:06:57 +0000 (14:06 +0100)
We currently ignore the reply messages from the DSP
when they are not expected but call it out as an error.
Change the error message to a debug message.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Link: https://lore.kernel.org/r/20200526203640.25980-6-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/ipc.c
sound/soc/sof/sof-priv.h

index f7a0353..36e2d4d 100644 (file)
@@ -335,21 +335,20 @@ int sof_ipc_tx_message_no_pm(struct snd_sof_ipc *ipc, u32 header,
 EXPORT_SYMBOL(sof_ipc_tx_message_no_pm);
 
 /* handle reply message from DSP */
-int snd_sof_ipc_reply(struct snd_sof_dev *sdev, u32 msg_id)
+void snd_sof_ipc_reply(struct snd_sof_dev *sdev, u32 msg_id)
 {
        struct snd_sof_ipc_msg *msg = &sdev->ipc->msg;
 
        if (msg->ipc_complete) {
-               dev_err(sdev->dev, "error: no reply expected, received 0x%x",
+               dev_dbg(sdev->dev,
+                       "no reply expected, received 0x%x, will be ignored",
                        msg_id);
-               return -EINVAL;
+               return;
        }
 
        /* wake up and return the error if we have waiters on this message ? */
        msg->ipc_complete = true;
        wake_up(&msg->waitq);
-
-       return 0;
 }
 EXPORT_SYMBOL(snd_sof_ipc_reply);
 
index 3ed39b8..64f28e0 100644 (file)
@@ -480,7 +480,7 @@ int snd_sof_fw_parse_ext_data(struct snd_sof_dev *sdev, u32 bar, u32 offset);
  */
 struct snd_sof_ipc *snd_sof_ipc_init(struct snd_sof_dev *sdev);
 void snd_sof_ipc_free(struct snd_sof_dev *sdev);
-int snd_sof_ipc_reply(struct snd_sof_dev *sdev, u32 msg_id);
+void snd_sof_ipc_reply(struct snd_sof_dev *sdev, u32 msg_id);
 void snd_sof_ipc_msgs_rx(struct snd_sof_dev *sdev);
 int snd_sof_ipc_stream_pcm_params(struct snd_sof_dev *sdev,
                                  struct sof_ipc_pcm_params *params);