[PATCH 0/2] ASoC: SOF: Fix IPC reliability and post-resume SoundWire init
From: Cole Leavitt
Date: Sat Feb 14 2026 - 01:43:33 EST
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.
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
--
2.52.0