Fedora 43 kernel 7.1.3 suspend hang with Dell P2725QE USB-C monitor; 7.0.12 works

I have encountered what appears to be a kernel-dependent suspend regression on a Framework Laptop 16 with the AMD Ryzen 7040 Series mainboard and Radeon 780M integrated graphics.

System:

  • Framework Laptop 16, AMD Ryzen 7040 Series
  • BIOS 04.04
  • Fedora 43 KDE Plasma, Wayland
  • Sleep mode: s2idle
  • Monitor: Dell P2725QE 27-inch 4K USB-C hub monitor
  • USB-C connection provides DisplayPort Alt Mode, the monitor’s USB hub, and up to 90 W Power Delivery
  • Failing kernel: 7.1.3-101.fc43.x86_64
  • Known-good kernel: 7.0.12-101.fc43.x86_64

Symptom:

With the monitor connected, selecting Sleep turns off the displays, but the Framework power-button LED remains steadily illuminated instead of breathing. The machine becomes completely unresponsive. It does not wake after keyboard or power-button input, and disconnecting the monitor does not recover it. A forced power-off is required.

The failed kernel journal ends at:

PM: suspend entry (s2idle)

There is no subsequent PM: suspend exit, so this appears to be a hang while entering suspend rather than a completed suspend followed by a wake failure.

Test results:

  • 7.1.3-101 with the USB-C monitor connected: failed twice, once after ordinary use and once in a controlled reproduction.
  • 7.1.3-101 with the monitor disconnected before selecting Sleep: suspend and wake worked normally.
  • 7.0.12-101 with the same monitor and peripherals connected: three consecutive suspend/resume cycles worked normally.

The original failure happened after the monitor had been connected during ordinary use. It was not limited to attempting suspend immediately after connecting the monitor.

Ethernet is connected through a separate adapter directly to the laptop, not through the monitor. The monitor’s unused Realtek RTL8153 Ethernet USB function nevertheless enumerates as part of its hub.

The same kernel parameters were present during both the good- and bad-kernel tests:

amdgpu.dcdebugmask=0x410 amdgpu.sg_display=0

I filed the full report, including sanitized logs and the good/bad kernel comparison, here:

BUGZILLA_URL

For now I am using 7.0.12-101 as the workaround. If anyone has already encountered the same behavior, it would be useful to add your hardware, monitor/dock model, failing kernel, known-good kernel, and log observations to the Bugzilla report.

Because reproduction can require a hard power-off, I would not recommend deliberately testing it unless you are prepared for that risk.

I had the same issue on my Framework 13, AI 5 series (running NixOS).
It appears to be a regression in the kernel, specifically commit 754003486c3c, which was introduced in kernel 7.1. The respective fix, commit 3714fe242592, is already in mainline with a backport requested on June 28th.

ref: [BUG] Unable to fully shut down or restart since 7.1 kernel with AMD GPU and multiple displays · Issue #900 · CachyOS/linux-cachyos · GitHub

Thanks, though unfortunately it appears to be a different problem than mine - for one, it sounds like the bug described occurs when multiple displays are connected, while in my case it is only one external display, yours describes problems with shutdown and restart while mine is sleep, and, most tellingly, my bug hasn’t been fixed yet - it continues happening, also with later kernels (7.1.5), and it even happened once today on the 7.0.12 kernel that I thought was fine (I am going to update the original bug report soon)

Hm, I only had 1 external display connected and still encountered the same issue. It could be a different bug, but I do know this particular bug wasn’t fixed in 7.1.5 – the fix was included in 7.1.6 (I have yet to try it, was waiting for it to hit nixpkgs).
I don’t think I had any issues with shutdown or restart either? Hard for me to remember though since 99% of the time I just put my laptop to sleep lol.

Interesting. I just tried it with 7.1.6, and while it went to sleep properly (the LED started breathing), it intermittently crashed during wakeup - i.e. it sent me to fedora’s boot menu…

Funnily enough, I finally tried 7.1.6 and it worked fine for me – at the cost of weird graphics issues with transparency. I’m now on 7.2rc5 with no issues… yet lol.