Commit d7a1ed26 authored by Ranjani Sridharan's avatar Ranjani Sridharan Committed by Mark Brown

ASoC: SOF: ipc: ignore DSP replies received when they are not expected

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: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Tested-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
Link: https://lore.kernel.org/r/20200526203640.25980-6-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 68224376
...@@ -335,21 +335,20 @@ int sof_ipc_tx_message_no_pm(struct snd_sof_ipc *ipc, u32 header, ...@@ -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); EXPORT_SYMBOL(sof_ipc_tx_message_no_pm);
/* handle reply message from DSP */ /* 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; struct snd_sof_ipc_msg *msg = &sdev->ipc->msg;
if (msg->ipc_complete) { 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); msg_id);
return -EINVAL; return;
} }
/* wake up and return the error if we have waiters on this message ? */ /* wake up and return the error if we have waiters on this message ? */
msg->ipc_complete = true; msg->ipc_complete = true;
wake_up(&msg->waitq); wake_up(&msg->waitq);
return 0;
} }
EXPORT_SYMBOL(snd_sof_ipc_reply); EXPORT_SYMBOL(snd_sof_ipc_reply);
......
...@@ -480,7 +480,7 @@ int snd_sof_fw_parse_ext_data(struct snd_sof_dev *sdev, u32 bar, u32 offset); ...@@ -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); struct snd_sof_ipc *snd_sof_ipc_init(struct snd_sof_dev *sdev);
void snd_sof_ipc_free(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); void snd_sof_ipc_msgs_rx(struct snd_sof_dev *sdev);
int snd_sof_ipc_stream_pcm_params(struct snd_sof_dev *sdev, int snd_sof_ipc_stream_pcm_params(struct snd_sof_dev *sdev,
struct sof_ipc_pcm_params *params); struct sof_ipc_pcm_params *params);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment