Follow-up, and a correction.
First, what you asked for: attached is a dmesg captured on 7.0.0-29.29 with the
GPU in the failing
state.
Second, and more important — while producing it I found that the isolation in
my original report
was confounded, and I now believe this bug is misattributed to the kernel.
This machine has a second, intermittent defect. At boot, the NVIDIA HDA
function 0000:02:00.1
sometimes fails its codec probe:
snd_hda_intel 0000:02:00.1: azx_get_response timeout, switching to polling
mode: last cmd=0x000f0000
snd_hda_intel 0000:02:00.1: Codec #0 probe error; disabling it...
snd_hda_intel 0000:02:00.1: no codecs initialized
snd_hda_intel 0000:02:00.1: GPU sound probed, but not operational: please
add a quirk to driver_denylist
When that happens, snd_hda_intel stays bound holding a runtime-PM usage
reference it never drops:
azx_probe_continue() takes the -ENXIO error path and never reaches the
pm_runtime_use_autosuspend/allow/put_autosuspend block, while azx_probe() has
already returned 0.
Through the quirk_gpu_hda device link (DL_FLAG_PM_RUNTIME — "pci 0000:02:00.1:
D0 power state
depends on 0000:02:00.0") the reference propagates to the GPU function and pins
it at
D0/active/usage=1. That is exactly the symptom I reported.
I re-checked every boot still held in the persistent journal:
boot date kernel probe failed wakeups GPU outcome
-7 2026-08-14 -29.29 yes 3 stuck at D0 for 44 h
<- the boot this report is based on
-6 2026-08-16 -28.28 no 32 healthy
-5 2026-08-19 -28.28 no 13 healthy
-4 2026-08-20 -28.28 no 5 healthy
-3 2026-08-20 -28.28 yes 9 stuck at D0
-1 2026-08-28 -28.28 yes 2 not stuck
0 2026-08-28 -29.29 yes 4 stuck at D0, healthy
after rebind
Every boot I used as evidence for "-29.29 is broken" carries the probe failure.
Every boot I used
as evidence for "-28.28 is healthy" does not. Boot -3 shows the same failure
producing the same D0
pin on 7.0.0-28.28, so the effect is not specific to -29.29 at all.
Direct test today: I booted 7.0.0-29.29 and confirmed the GPU stuck at
D0/active/usage=1 with three
wakeups inside the first 17 seconds (this is the attached dmesg). I then
unbound and rebound only
the audio driver, changing nothing else:
echo 0000:02:00.1 | sudo tee /sys/bus/pci/drivers/snd_hda_intel/unbind
echo 0000:02:00.1 | sudo tee /sys/bus/pci/drivers/snd_hda_intel/bind
The codec probed cleanly, and within about 90 seconds both functions reached
D3cold — on the same
running 7.0.0-29.29 kernel. It has sustained runtime suspend since
(runtime_suspended_time 72 s ->
517 s, runtime_active_time frozen, wake counter steady). The second attachment
is a dmesg from that
healthy state on the same kernel.
One thing I cannot explain and am not going to leave out: boot -1 had the probe
failure and the GPU
still suspended normally. So the failure does not deterministically pin the
card. It appears to pin
it only when it coincides with the GPU's first RTD3 suspend, which is
consistent with the timing in
the boots where it did pin.
On the suspend/resume step you asked for: I have not performed one. This host
is headless, s2idle
has never been exercised on it, and the defect is PCI runtime PM (RTD3/D3cold)
rather than ACPI
system suspend — so I am not certain suspend/resume is the data you need. If it
is, tell me and I
will arrange physical access and run it.
Given all of the above, please close this report as invalid if that is
cleanest, or retitle it to
the actual defect — snd_hda_intel leaving a runtime-PM reference after a failed
codec probe on the
NVIDIA HDA function, pinning the GPU at D0 through quirk_gpu_hda. I am glad to
gather whatever logs
help for the latter; the driver itself suggests a driver_denylist quirk in its
own message.
Apologies for sending you in the wrong direction.
** Attachment added: "dmesg from 7.0.0-29.29 with the GPU stuck at D0 (HDA
codec probe failed on this boot)"
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2163682/+attachment/5996188/+files/dmesg-7.0.0-29-generic.log
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2163682
Title:
Regression 7.0.0-28.28 -> 7.0.0-29.29: NVIDIA dGPU never enters
runtime suspend (D3cold), idle power +8 W
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2163682/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs