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

Reply via email to