Kernel-version: 6.8+ (confirmed in Fedora kernel 6.8.4-200.fc38.x86_64 and above) Regression-from: 6.7.11 (working) to 6.8.4+ (regressed) Affected-hardware: Lenovo ThinkPad X1 Carbon Gen 10 (Intel Alder Lake platform) Affected-subsystems: TTY/Console, Power Management, WWAN Modem (Intel XMM7560, iosm driver), Kernel DRM/i915 stack
Description: We are reporting a significant regression introduced in Linux kernel version 6.8 (specifically confirmed in Fedora kernel 6.8.4-200.fc38.x86_64 and subsequent versions), affecting Lenovo ThinkPad X1 Carbon Gen 10 laptops. This regression manifests primarily as tty lockups and complete loss of WWAN modem functionality after hibernate cycle. Problematic Behavior: 1. TTY/Console: After a hibernate cycle, the console input becomes unresponsive. In some cases, after suspend, pressing `SysRq+R` (unraw) can temporarily restore keyboard functionality, but this is not consistent, especially after hibernation. 2. Power Management: While S3 suspend works correctly when "Linux only" is set in BIOS, `suspend` causes the system to freeze upon resume if "Windows + Linux" mode (which implies `s2idle`) is active in BIOS settings. 3. WWAN Modem (Intel XMM7560, `iosm` driver): The modem fails to reinitialize after hibernation, consistently showing "msg timeout" errors in logs. The modem works correctly after a cold boot but completely fails to recover after resuming from hibernate. Rescanning PCI devices or reloading the `iosm` module does not resolve the issue. Attempts to manually remove the device via `/sys/bus/pci/devices/.../remove` result in a system hang. 4. Kernel DRM/i915 stack: Although GuC and HuC firmware (versions 70.44.1 / 7.9.3) are confirmed to load correctly, logs indicate potential graphics driver reinitialization issues in affected kernel versions. This might contribute to the TTY unresponsiveness. System Specifications: - Laptop: Lenovo ThinkPad X1 Carbon Gen 10 - CPU: Intel Core i7-1260P (Alder Lake) - GPU: Intel iGPU (ADL GT2) - i915 - WWAN: Intel XMM7560 (iosm driver) - Wi-Fi/Bluetooth: Intel AX201 - Operating Systems tested: - Fedora 38 (most stable with 6.7.11) - Fedora 39/40/42 (exhibit regression) - Ubuntu 22.04, 24.10 (exhibit regression) - EndeavourOS_Mercury-Neo-2025.03.19 (exhibits regression) - Display manager: GDM/Wayland (also tested LightDM + Xfce and runlevel 3, problem persists). - Mesa Stack: Mesa 24.3.4 built with LLVM 16.0.6 (confirmed functional with working kernels). Vulkan, GBM, EGL, GLX render correctly with `iris` and `intel` drivers. Custom Mesa 24.3.4 build showed no impact on the hibernate issue. Behavior Matrix: | Kernel Version | Hibernate Status | Resume Status | TTY Functionality | WWAN Functionality | Notes | |----------------|------------------|---------------|-------------------|--------------------|-------| | 6.2.9 | OK | Not tested | OK | Not Tested | Working baseline | | 6.3.12 | OK | Not tested | OK | Not Tested | Working baseline | | 6.7.11 | OK | OK(S3)/Fail(S2idle) | OK | FAIL | WWAN regression starts here, but hibernate/tty still OK | | **6.8.4+** | FAIL | OK(S3)/Fail(S2idle) | FAIL | FAIL | Major regression point, affects hibernate/tty/WWAN | | 6.14+ | FAIL | OK(S3)/Fail(S2idle) | FAIL | FAIL | Problem persists in newer kernels | Additional Details: - Hibernation issues: - Initial `mem_sleep` was `[s2idle]` in BIOS "Windows + Linux" mode. - Switching BIOS to "Linux only" enabled proper S3 suspend, changing `/sys/power/mem_sleep` to `[s2idle] deep`. However, the hibernation issue (TTY lockup, WWAN loss) persists even with S3 enabled for suspend. - `Alt + SysRq + R` sometimes revives console after suspend but *never* after hibernate. - TTY related errors observed in logs are, dmesg: `tty_flip_buffer_push: called while buffer locked`, systemd-logind: `New session created but VT is not initial VT, ignoring`, GDM: `GdmLocalDisplayFactory: active VT is not initial VT` on kernels 6.8+. - WWAN issues: - The `iosm` driver appears loaded, and the device is visible via `lspci`, but the modem is not visible to `mmcli` after resume from hibernate. - The WWAN modem (iosm) only works after a cold boot. - Rescanning PCI or reloading `iosm` module (e.g., `modprobe -r iosm && modprobe iosm`) does not resolve the issue. - Manual removal via `/sys/bus/pci/devices/.../remove` leads to a system hang, indicating a deeper issue with device state or driver interaction post-resume. Tested Alternatives & Current Stability: - Hibernate works reliably only up to kernel 6.7.11. - Fedora 38 with kernel 6.7.11 + GNOME 44.10 is currently the most stable configuration for this hardware, despite the WWAN issue already present there (but not the tty lockup/hibernate issue). - Kali Linux with 6.6.9 - hibernation works. - Newer distributions (e.g., Fedora 42, Ubuntu 25.04, EndeavourOS) inherit the same problems due to their newer kernel versions. Expected Behavior: The system should resume from hibernate and suspend without TTY lockups, and the WWAN modem should reinitialize correctly and be fully functional. Steps to Reproduce: 1. Ensure system is running a kernel version 6.8.4 or newer (e.g., Fedora 38 with `6.8.4-200.fc38.x86_64`). 2. Perform a `systemctl hibernate` or `systemctl suspend`. 3. Resume the system. 4. Observe TTY console unresponsiveness(only in runlevel 3) and check WWAN modem status using `mmcli -L`. Please let me know if any further information or testing is required. Thank you. Best regards, Andriy