Re: [PATCH 1/2] ASoC: SOF: Fix "no reply expected" error during firmware-boot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 4/2/20 1:49 PM, Hans de Goede wrote:
At least on Canon Lake each time the SOF firmware is booted,
the following error is logged in dmesg:

[   36.711803] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0

Since the DSP is powered down when not in used this happens everytime
e.g. a notification plays, polluting dmesg with these false-positive
errors.

What kernel are you using Hans? I thought this was solved with

8354d9b44530b ("ASoC: SOF: Intel: hda-loader: clear the IPC ack bit after FW_PURGE done")

Set DONE bit after the FW_PURGE IPC is polled successfully, to clear the
interrupt and avoid the arrival of the confusing unexpected ipc.
Add a check to snd_sof_ipc_reply() which makes it return success when
receiving an unexpected msg_id 0 during fw-boot, fixing these
false-positive errors being logged.

Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
---
  sound/soc/sof/ipc.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/sound/soc/sof/ipc.c b/sound/soc/sof/ipc.c
index 78aa1da7c7a9..7303b3d42f12 100644
--- a/sound/soc/sof/ipc.c
+++ b/sound/soc/sof/ipc.c
@@ -312,6 +312,11 @@ int snd_sof_ipc_reply(struct snd_sof_dev *sdev, u32 msg_id)
  {
  	struct snd_sof_ipc_msg *msg = &sdev->ipc->msg;
+ /* Ignore msg_id 0 being send during fw-boot */
+	if (msg->ipc_complete && sdev->fw_state == SOF_FW_BOOT_IN_PROGRESS &&
+	    msg_id == 0)
+		return 0;
+
  	if (msg->ipc_complete) {
  		dev_err(sdev->dev, "error: no reply expected, received 0x%x",
  			msg_id);




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux