Hi everyone!
I want to share a solution for a frustrating issue with the Honor MagicBook X14 Plus (2024) (model FMI-XX, Ryzen 7 8845HS) running Fedora 43.
The Problem
After waking the laptop from sleep (s2idle), the system would hang for about 10 seconds before the login screen became responsive. Checking dmesg after resume revealed a combination of hardware conflicts:
NVMe Reset: nvme nvme0: resetting controller due to persistent internal error
IOMMU Fault: AMD-Vi: Event logged [IO_PAGE_FAULT ...]
Serial Port Timeouts: systemd-analyze blame showed ~26s delays on non-existent ttyS ports.
The Solution
The fix involves passing specific kernel parameters via grubby. This disables ghost serial ports and prevents the IOMMU from blocking the SSD during the wake-up sequence.
Run the following command in your terminal:
Bash
sudo grubby --update-kernel=ALL --args=β8250.nr_uarts=0 iommu=pt nvme_core.default_ps_max_latency_us=0β
What these flags do:
8250.nr_uarts=0: Disables the search for legacy serial ports, removing a ~25s initialization hang.
iommu=pt: Sets IOMMU to "passthrough" mode. This stops the IO_PAGE_FAULT errors that were causing the NVMe controller to crash on resume.
nvme_core.default_ps_max_latency_us=0: Disables deep APST power states for the NVMe drive, which is a known stability fix for many modern SSDs on Linux.
Result
After a reboot, the dmesg is clean, the controller reset is gone, and the laptop wakes up instantly (under 2 second).
Hope this helps other owners of Honor/Huawei laptops or similar Zen 4 systems!