Same issue here on a sibling machine with the same ACP 6.3 / snd_pci_ps stack, on a much newer kernel than the original report (6.8), so it does not appear to be fixed upstream yet.
Hardware / software: - Lenovo ThinkPad L14 Gen 6 AMD (21S9), BIOS R2UET27W (1.27), EC 1.22 - ACP [1022:15e2] rev 63, driver snd_pci_ps + snd_ps_pdm_dma, internal DMIC (acp63 card, used via the UCM HiFi profile of the HDA ALC257 card) - Debian 13, kernel 6.12.113+deb13-amd64, PipeWire / WirePlumber 1.4.2 - Sleep mode: s2idle only (/sys/power/mem_sleep = [s2idle]) - Note: kernel is tainted by an out-of-tree endpoint-security module Symptom: After several s2idle cycles (this boot: broken after the 4th resume; it typically appears after ~4-5 cycles) the internal DMIC captures a constant value. Reboot fixes it. Speakers, the HDA analog mic input and the USB dock mic keep working. Raw capture, bypassing PipeWire: arecord -D hw:acp63,0 -f S32_LE -c 2 -r 48000 -d 2 raw.wav -> both channels are 0x80000000 (-2147483648) in ~99.97% of samples, with a handful of 0x7fffffff spikes. Through PipeWire (S16) it is a constant -20670. So PCM/DMA keep running, but the PDM data looks stuck low. What does NOT bring it back (all tested while in the broken state): - restarting pipewire / pipewire-pulse / wireplumber - unbind + bind of snd_pci_ps on 0000:c5:00.5 (note: the unbind blocks in snd_card_disconnect_sync until pipewire/wireplumber release controlC2, which is probably the same "hang" as the modprobe -r in the original report; after the restart the unbind completes, but the mic is still broken) - letting the ACP runtime-suspend: it reaches D3cold, ACP_.PWRS resource_in_use=0, and capture stays broken afterwards - one more suspend/resume cycle - toggling source mute, the "Mic ACP LED Capture Switch" control, and the physical F4 mic-mute key Other observations: - no ACP/PDM errors in the kernel log around resume - MSI is disabled on the ACP (MSI: Enable-) and there are no IO_PAGE_FAULTs, so this is not the "disable MSI on resume" issue fixed in the 2026 ps series - the ACP is power-cycled at runtime and the driver is fully re-probed, but the state survives both, so the stuck state seems to be outside the ACP block (DMIC power/clock, pin config, or something firmware/EC-controlled across s2idle) and is only reset by a cold boot / POST. Happy to provide more data or test patches. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2077341 Title: snd_pci_ps: onboard mic broken after resume To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-meta-hwe-6.8/+bug/2077341/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
