Re: [PATCH 0/2] ASoC: SOF: Fix IPC reliability and post-resume SoundWire init

From: Péter Ujfalusi

Date: Mon Feb 16 2026 - 05:52:45 EST


Hi Cole,

On 14/02/2026 08:40, Cole Leavitt wrote:
> Two fixes for SOF IPC4 reliability issues observed on Lenovo ThinkPad
> P16 Gen 3 (Arrow Lake-S, CS42L43 + CS35L56 over SoundWire):
>
> 1. Replace the broken delayed_ipc_tx_msg mechanism with a bounded retry
> loop. The old deferred dispatch silently drops messages during D0i3
> transitions, causing 500ms+ hangs per IPC chunk.
>
> 2. Add a platform ops callback (dai_link_hw_ready) so Intel HDA
> platforms can wait for SoundWire slave initialization before ALH
> copier setup. Without this, the DSP enters an unrecoverable wedged
> state when userspace opens a PCM before slaves finish re-enumerating
> after resume.
>
> Tested on ThinkPad P16 Gen 3 with repeated suspend/resume cycles
> and concurrent audio playback.

Thank you for the patch, I have sent them to our CI for testing:
https://github.com/thesofproject/linux/pull/5671

With a brief look the first patch is really nice, better than the
admitably handicapped delayed message workaround.

The second patch is a bit more of a layering violation at first glance,
I'm not sure if I would like code dealing with soundwire nuances in SOF
code itself.
This would need additional thoughts.

>
> Cole Leavitt (2):
> ASoC: SOF: Replace IPC TX busy deferral with bounded retry
> ASoC: SOF: Add platform ops callback for DAI link hardware readiness
>
> sound/soc/sof/intel/cnl.c | 17 ++---------
> sound/soc/sof/intel/hda-common-ops.c | 1 +
> sound/soc/sof/intel/hda-ipc.c | 17 ++---------
> sound/soc/sof/intel/hda.c | 44 ++++++++++++++++++++++++++++
> sound/soc/sof/intel/hda.h | 14 ++++-----
> sound/soc/sof/intel/mtl.c | 17 ++---------
> sound/soc/sof/ipc4-topology.c | 8 +++++
> sound/soc/sof/ipc4.c | 17 +++++++++--
> sound/soc/sof/sof-priv.h | 3 ++
> 9 files changed, 83 insertions(+), 55 deletions(-)
>
>
> base-commit: 2687c848e57820651b9f69d30c4710f4219f7dbf

--
Péter