We have multiple reports of suspend failures due to audio driver failing to suspend. This is due to unsuccessful resume in previous cycle.
Sharing the 2 scenarios where the failure seems to be either same or similar.
Scenario thesofproject/linux#1: Seen in local testing when we tried to repro the thesofproject/linux#3915 with debug enabled and ran suspend stess test. Here we found ipc errors while the FW load itself resumed fine.
log slice :
pipeline_ipc_fail.txt
Scenario thesofproject/linux#2: Seen in ODM reporting with a dozing script ( variation of suspend_stress_test with additonal parameters)
suspend_stress_test --count 15 --suspend_max 30 --suspend_min 28 --wake_max 10 --wake_min 5 --suspend_time_margin_min -1 --suspend_time_margin_max 30 --fw_errors_fatal --premature_wake_fatal --late_wake_fatal --record_dmesg_dir /var/log/suspend
Logs :
kernel_log_20221017.txt
Errors seen in scenario thesofproject/linux#1
0000:00:1f.3: ipc tx error for 0x30030000 (msg/reply size: 16/12): -22
0000:00:1f.3: sof_ipc3_route_setup: route DMIC1.IN -> BUF11.0 failed
0000:00:1f.3: sof_ipc3_set_up_all_pipelines: route set up failed
0000:00:1f.3: Failed to restore pipeline after resume -22
0000:00:1f.3: PM: pci_pm_resume+0x0/0xef returned -22 after 114680 usecs
0000:00:1f.3: PM: failed to resume async: error -22
Errors seen in scenario thesofproject/linux#2
0000:00:1f.3: ipc tx error for 0x30130000 (msg/reply size: 12/12): -22
0000:00:1f.3: Failed to restore pipeline after resume -22
0000:00:1f.3: PM: pci_pm_resume+0x0/0xef returned -22 after 113515 usecs
0000:00:1f.3: PM: failed to resume async: error -22
0000:00:1f.3: PM: calling pci_pm_suspend+0x0/0x1da @ 5476, parent: pci0000:00
0000:00:1f.3: ipc tx error for 0x30020000 (msg/reply size: 12/12): -19
0000:00:1f.3: failed to free widget DMIC1.IN
0000:00:1f.3: failed to tear down paused pipelines
We have multiple reports of suspend failures due to audio driver failing to suspend. This is due to unsuccessful resume in previous cycle.
Sharing the 2 scenarios where the failure seems to be either same or similar.
Scenario thesofproject/linux#1: Seen in local testing when we tried to repro the thesofproject/linux#3915 with debug enabled and ran suspend stess test. Here we found ipc errors while the FW load itself resumed fine.
log slice :
pipeline_ipc_fail.txt
Scenario thesofproject/linux#2: Seen in ODM reporting with a dozing script ( variation of suspend_stress_test with additonal parameters)
suspend_stress_test --count 15 --suspend_max 30 --suspend_min 28 --wake_max 10 --wake_min 5 --suspend_time_margin_min -1 --suspend_time_margin_max 30 --fw_errors_fatal --premature_wake_fatal --late_wake_fatal --record_dmesg_dir /var/log/suspend
Logs :
kernel_log_20221017.txt
Errors seen in scenario thesofproject/linux#1
0000:00:1f.3: ipc tx error for 0x30030000 (msg/reply size: 16/12): -22
0000:00:1f.3: sof_ipc3_route_setup: route DMIC1.IN -> BUF11.0 failed
0000:00:1f.3: sof_ipc3_set_up_all_pipelines: route set up failed
0000:00:1f.3: Failed to restore pipeline after resume -22
0000:00:1f.3: PM: pci_pm_resume+0x0/0xef returned -22 after 114680 usecs
0000:00:1f.3: PM: failed to resume async: error -22
Errors seen in scenario thesofproject/linux#2
0000:00:1f.3: ipc tx error for 0x30130000 (msg/reply size: 12/12): -22
0000:00:1f.3: Failed to restore pipeline after resume -22
0000:00:1f.3: PM: pci_pm_resume+0x0/0xef returned -22 after 113515 usecs
0000:00:1f.3: PM: failed to resume async: error -22
0000:00:1f.3: PM: calling pci_pm_suspend+0x0/0x1da @ 5476, parent: pci0000:00
0000:00:1f.3: ipc tx error for 0x30020000 (msg/reply size: 12/12): -19
0000:00:1f.3: failed to free widget DMIC1.IN
0000:00:1f.3: failed to tear down paused pipelines