AMD 13 inch DIY doesn't want to suspend

When I choose Power Off / Logout > Suspend from the Gnome menu, it does not suspend and I don’t get the pulsing power indicator. Running amd_s2idle.py results in the following:

Note: the tainted kernel is the zfs module.

$ sudo Downloads/amd_s2idle.py --force
[sudo] password for bracher: 
Location of log file (default s2idle_report-2024-02-12.txt)? 
Debugging script for s2idle on AMD systems
πŸ’» Framework Laptop 13 (AMD Ryzen 7040Series) (Laptop) running BIOS 3.3 (03.03) released 10/17/2023 and EC unknown
🐧 Ubuntu 22.04.3 LTS
🐧 Kernel 6.5.0-1014-oem
πŸ”‹ Battery BAT1 ( ) is operating at 86.51% of design
Checking prerequisites for s2idle
βœ… Logs are provided via systemd
βœ… AMD Ryzen 7 7840U w/ Radeon  780M Graphics (family 19 model 74)
βœ… LPS0 _DSM enabled
βœ… ACPI FADT supports Low-power S0 idle
βœ… HSMP driver `amd_hsmp` not detected (blocked: False)
βœ… PMC driver `amd_pmc` loaded (Program 0 Firmware 76.70.0)
βœ… USB4 driver `thunderbolt` loaded
βœ… GPU driver `amdgpu` available
βœ… System is configured for s2idle
βœ… NVME Sandisk Corp is configured for s2idle in BIOS
βœ… GPIO driver `pinctrl_amd` available
❌ Kernel is tainted: 4097
Your system does not meet s2idle prerequisites!
How long should suspend cycles last in seconds (default 10)? 
How long to wait in between suspend cycles in seconds (default 4)? 
How many suspend cycles to run (default 1)? 
Started at 2024-02-12 11:20:12.679579 (cycle finish expected @ 2024-02-12 11:20:26.679612)
OSError: [Errno 16] Device or resource busy

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bracher/Downloads/amd_s2idle.py", line 2456, in <module>
    app.test_suspend(duration=duration, wait=wait, count=count)
  File "/home/bracher/Downloads/amd_s2idle.py", line 2290, in test_suspend
    self.execute_suspend()
  File "/home/bracher/Downloads/amd_s2idle.py", line 129, in runner
    ret = func(*args, **kwargs)
  File "/home/bracher/Downloads/amd_s2idle.py", line 2218, in execute_suspend
    with open(p, "w") as w:
OSError: [Errno 16] Device or resource busy

Seems to be timing out trying to write to /sys/power/state…

Are you using anything out of tree besides zfs?

Can you upload full report please?

I’m not sure when it started working, but after a few reboots working on something else, it is suspending just fine. Sorry for the false alarm.