Fixing a 30-Second Resume Delay on Lenovo Yoga Slim 7 with AMD Ryzen AI

A few days ago, I noticed a very frustrating issue with my new Lenovo Yoga Slim 7. The laptop features a beautiful AMD Ryzen AI 7 350 processor with Radeon 860M graphics, and it runs Fedora 44 flawlessly. However, every single time I closed the lid and opened it again, the laptop took exactly 30 to 40 seconds to show the login screen. Modern laptops use the suspend-to-idle state, which should be almost instant, so a static delay like this usually points to a kernel hardware timeout.
I decided to investigate the issue by looking at the system logs right after a slow resume. First, I checked the suspension service to see how long the process actually took.
journalctl -b 0 -u systemd-suspend.service -n 30
The output confirmed my suspicions. The system was spending over 41 seconds inside the suspend and resume cycle. To find the exact culprit, I looked at the full system log for that specific minute using journalctl. The logs showed a chain reaction that explained the freeze perfectly.
First, there was an explicit firmware bug coming from the motherboard. The log displayed a message saying ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.LPC0.EC0.OSFG], AE_NOT_FOUND. It seems the engineers at Lenovo forgot to define a specific power management variable in this BIOS version.
Because of this missing symbol, the NVMe SSD controller became confused when waking up. It tried to write to a RAM address that the AMD IOMMU controller considered unmapped or forbidden. The system logged a bunch of AMD-Vi: Event logged [IO_PAGE_FAULT] lines and blocked the disk to protect the memory. Finally, the CPU froze completely while waiting for the disk to respond, resulting in a hard lockup detection. After 30 seconds of freezing, the kernel watchdog forced a reset of the processor core, which finally brought the login screen back.
Fortunately, the fix is quite simple and does not require waiting for Lenovo to release a new BIOS update. We can tell the Linux kernel to bypass the dynamic translation layer of the IOMMU for system devices by enabling pass-through mode. In Fedora, you can safely add this boot parameter using the grubby tool.
sudo grubby --update-kernel=ALL --args="iommu=pt"
After running this command, reboot your laptop. The iommu=pt parameter tells the kernel to give built-in devices like your storage controller a direct 1:1 map to the RAM. This entirely skips the aduana or filter that was failing due to the broken ACPI tables.
The results are fantastic. My Yoga Slim 7 now wakes up instantly when I open the lid, just like it is supposed to. This workaround is completely safe, does not hurt battery life, and restores the seamless experience of using Linux on modern AMD hardware. If you are experiencing a similar 30-second black screen on a Ryzen AI laptop, give this a try.