Skip to content

[BUG] [CML] Infinite ipc tx error loop after suspend/resume floods journal #10442

Closed as not planned
thesofproject/linux
#6020

Description

@ABHIRAMSHIBU

Describe the bug
After suspend/resume, the SOF driver enters an infinite error loop when PipeWire attempts to use the audio device. The driver repeatedly fails with -22 (EINVAL) on sof_pcm_prepare, flooding the journal with thousands of errors per second. The system does not recover automatically.

I diagnosed this by checking journalctl -r which showed the error spam. The errors occur at a rate high enough that systemd-journald reports "Missed N kernel messages".

To Reproduce

  1. Have PipeWire running with an active audio client (e.g., browser, Discord)
  2. Suspend the system (S3)
  3. Resume
  4. Observe error flood in journalctl -f

Reproduction Rate
Unable to determine exact rate as suspend/resume normally works. This occurred once so far, but when it does occur, the error loop is 100% consistent until PipeWire is restarted.

Expected behavior
The driver should either:

  • Successfully reinitialize after resume, or
  • Fail gracefully with rate-limited errors, allowing userspace to recover without manual intervention

Impact
Annoyance, but significant when it occurs:

  • High CPU usage from systemd-journald processing the flood
  • Journal grew by ~4GB in minutes before I noticed
  • Requires manual restart of PipeWire to recover

Environment

  1. Branch name and commit hash:
    • Kernel: 6.17.9-arch1-1 (Arch Linux mainline kernel)
    • SOF: sof-firmware 2025.05.1-1 (Arch Linux package)
  2. Name of the topology file
    • Topology: (default, using skl_hda_dsp_generic as shown in logs)
  3. Name of the platform(s)
    • Platform: Comet Lake PCH-LP cAVS (device 0000:00:1f.3)
    • Driver: snd_sof_pci_intel_cnl
    • Audio server: PipeWire 1.4.9

Screenshots or console output
Error log from journalctl (repeats hundreds of times per second):

sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -22
sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm0 (HDA Analog), dir 1: STREAM_PCM_PARAMS ipc failed for stream_tag 2
sof-audio-pci-intel-cnl 0000:00:1f.3: sof_pcm_prepare: pcm0 (HDA Analog), dir 1: failed to set hw_params after resume
sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-22): at snd_soc_pcm_component_prepare() on 0000:00:1f.3
systemd-journald[284]: Missed 2 kernel messages

Workaround - restarting PipeWire clears the error state:

systemctl --user restart pipewire pipewire-pulse wireplumber

Additional context
The bug appears to be in the driver's resume path failing to restore DSP state properly. PipeWire repeatedly retries the broken device, triggering the kernel error on each attempt. There is no rate limiting on the kernel side, causing the journal flood.

I do not have sof-logger output as the issue has been worked around and I cannot reliably reproduce it.

Activity

  1. lgirdwood commented on Dec 15, 2025

    @lgirdwood
    Member

    @ujfalusi @bardliao fyi - btw do we have any rate limiting on PCM ops, that would help with the logs.

    @ABHIRAMSHIBU re the resume path, I suspect the Pipewire behavior is possibly different to Pulseaudio, do you have any logs from Pipewire around this event as it sound like the PCM state is not aligned between driver and Pipewire at resume.

  2. ujfalusi commented on Dec 16, 2025

    @ujfalusi
    Contributor

    @ABHIRAMSHIBU, is this a new install or a regression after a kernel/sof/pipewire update?
    Can you share the output of alsa-info.sh --no-upload

    sof_ipc3_pcm_hw_params: pcm0 (HDA Analog), dir 1: STREAM_PCM_PARAMS ipc failed for stream_tag 2
    indicates that the Capture stream on HDA Analog is failing, do you have wired headset connected and you are using the Headset's mic?

    Can you rename sof-dyndbg.conf.txt to sof-dyndbg.conf and put it in the /etc/modprobe.d/ folder and share the full dmesg log after rebooting?

    Keep this enabled and when you reproduce the issue can you share the full kernel log?

  3. github-actions commented on Feb 15, 2026

    @github-actions

    This issue has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this issue will automatically be closed in 14 days. Note, that you can always re-open a closed issue at any time.

  4. added
    staleIssue/PR marked as stale and will be closed after 14 days if there is no activity.
    on Feb 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    CMLApplies to Comet Lake platformbugSomething isn't working as expectedstaleIssue/PR marked as stale and will be closed after 14 days if there is no activity.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions