Thanks! I tried this and still no success. Given I tried unloading the ath12k module and had still seen this issue I suspect this is lower level which may require help from a Qualcomm dev. I also tried disabling hardware in the BIOS (to try to help single out the issue) but anything I tried resulted in system not booting properly. Do you think it's worth I send a small summary to the kernel mailing list? Thanks! :)
## Additional Details I'll include two tests here, first where I sleep and we still see the issue, second where I unload the potentially suspect modules and still see the issue. It's only about 200 lines so I'll paste here instead of attaching (I hope that's okay). # Kernel version ``` $ sudo uname -a Linux [HOSTNAME] 6.17.0-6-generic #6-Ubuntu SMP PREEMPT_DYNAMIC Tue Oct 7 14:22:06 UTC 2025 aarch64 GNU/Linux $ sudo lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 25.10 Release: 25.10 Codename: questing ``` # Suspend Closed lid, waited 20 seconds and opened again: ``` [Fri Oct 10 09:09:44 2025] PM: suspend entry (deep) [Fri Oct 10 09:09:44 2025] Filesystems sync: 0.007 seconds [Fri Oct 10 09:09:44 2025] Freezing user space processes [Fri Oct 10 09:09:44 2025] Freezing user space processes completed (elapsed 0.001 seconds) [Fri Oct 10 09:09:44 2025] OOM killer disabled. [Fri Oct 10 09:09:44 2025] Freezing remaining freezable tasks [Fri Oct 10 09:09:44 2025] Freezing remaining freezable tasks completed (elapsed 0.000 seconds) [Fri Oct 10 09:09:44 2025] printk: Suspending console(s) (use no_console_suspend to debug) [Fri Oct 10 09:09:44 2025] Disabling non-boot CPUs ... [Fri Oct 10 09:09:44 2025] IRQ170: set affinity failed(-22). [Fri Oct 10 09:09:44 2025] IRQ192: set affinity failed(-22). [Fri Oct 10 09:09:44 2025] IRQ194: set affinity failed(-22). [Fri Oct 10 09:09:44 2025] psci: CPU11 killed (polled 1 ms) [Fri Oct 10 09:09:44 2025] IRQ170: set affinity failed(-22). [Fri Oct 10 09:09:44 2025] IRQ192: set affinity failed(-22). [Fri Oct 10 09:09:44 2025] IRQ194: set affinity failed(-22). [Fri Oct 10 09:09:44 2025] psci: CPU10 killed (polled 0 ms) [Fri Oct 10 09:09:44 2025] IRQ170: set affinity failed(-22). [Fri Oct 10 09:09:44 2025] IRQ192: set affinity failed(-22). [Fri Oct 10 09:09:44 2025] IRQ194: set affinity failed(-22). [Fri Oct 10 09:09:44 2025] psci: CPU9 killed (polled 0 ms) [Fri Oct 10 09:09:44 2025] IRQ170: set affinity failed(-22). [Fri Oct 10 09:09:44 2025] psci: CPU8 killed (polled 0 ms) [Fri Oct 10 09:09:44 2025] psci: CPU7 killed (polled 1 ms) [Fri Oct 10 09:09:44 2025] psci: CPU6 killed (polled 0 ms) [Fri Oct 10 09:09:44 2025] psci: CPU5 killed (polled 1 ms) [Fri Oct 10 09:09:44 2025] psci: CPU4 killed (polled 0 ms) [Fri Oct 10 09:09:44 2025] psci: CPU3 killed (polled 1 ms) [Fri Oct 10 09:09:44 2025] psci: CPU2 killed (polled 1 ms) [Fri Oct 10 09:09:44 2025] psci: CPU1 killed (polled 0 ms) [Fri Oct 10 09:09:44 2025] Enabling non-boot CPUs ... [Fri Oct 10 09:09:44 2025] Detected PIPT I-cache on CPU1 [Fri Oct 10 09:09:44 2025] GICv3: CPU1: found redistributor 100 region 0:0x00000000170c0000 [Fri Oct 10 09:09:44 2025] CPU1: Booted secondary processor 0x0000000100 [0x512f0011] [Fri Oct 10 09:09:44 2025] CPU1 is up [Fri Oct 10 09:09:44 2025] Detected PIPT I-cache on CPU2 [Fri Oct 10 09:09:44 2025] GICv3: CPU2: found redistributor 200 region 0:0x0000000017100000 [Fri Oct 10 09:09:44 2025] CPU2: Booted secondary processor 0x0000000200 [0x512f0011] [Fri Oct 10 09:09:44 2025] CPU2 is up [Fri Oct 10 09:09:44 2025] Detected PIPT I-cache on CPU3 [Fri Oct 10 09:09:44 2025] GICv3: CPU3: found redistributor 300 region 0:0x0000000017140000 [Fri Oct 10 09:09:44 2025] CPU3: Booted secondary processor 0x0000000300 [0x512f0011] [Fri Oct 10 09:09:44 2025] CPU3 is up [Fri Oct 10 09:09:44 2025] Detected PIPT I-cache on CPU4 [Fri Oct 10 09:09:44 2025] GICv3: CPU4: found redistributor 10000 region 0:0x0000000017180000 [Fri Oct 10 09:09:44 2025] CPU4: Booted secondary processor 0x0000010000 [0x511f0011] [Fri Oct 10 09:09:44 2025] CPU4 is up [Fri Oct 10 09:09:44 2025] Detected PIPT I-cache on CPU5 [Fri Oct 10 09:09:44 2025] GICv3: CPU5: found redistributor 10100 region 0:0x00000000171c0000 [Fri Oct 10 09:09:44 2025] CPU5: Booted secondary processor 0x0000010100 [0x511f0011] [Fri Oct 10 09:09:44 2025] CPU5 is up [Fri Oct 10 09:09:44 2025] Detected PIPT I-cache on CPU6 [Fri Oct 10 09:09:44 2025] GICv3: CPU6: found redistributor 10200 region 0:0x0000000017200000 [Fri Oct 10 09:09:44 2025] CPU6: Booted secondary processor 0x0000010200 [0x511f0011] [Fri Oct 10 09:09:44 2025] CPU6 is up [Fri Oct 10 09:09:44 2025] Detected PIPT I-cache on CPU7 [Fri Oct 10 09:09:44 2025] GICv3: CPU7: found redistributor 10300 region 0:0x0000000017240000 [Fri Oct 10 09:09:44 2025] CPU7: Booted secondary processor 0x0000010300 [0x511f0011] [Fri Oct 10 09:09:44 2025] CPU7 is up [Fri Oct 10 09:09:44 2025] Detected PIPT I-cache on CPU8 [Fri Oct 10 09:09:44 2025] GICv3: CPU8: found redistributor 20000 region 0:0x0000000017280000 [Fri Oct 10 09:09:44 2025] CPU8: Booted secondary processor 0x0000020000 [0x511f0011] [Fri Oct 10 09:09:44 2025] CPU8 is up [Fri Oct 10 09:09:44 2025] Detected PIPT I-cache on CPU9 [Fri Oct 10 09:09:44 2025] GICv3: CPU9: found redistributor 20100 region 0:0x00000000172c0000 [Fri Oct 10 09:09:44 2025] CPU9: Booted secondary processor 0x0000020100 [0x511f0011] [Fri Oct 10 09:09:44 2025] CPU9 is up [Fri Oct 10 09:09:44 2025] Detected PIPT I-cache on CPU10 [Fri Oct 10 09:09:44 2025] GICv3: CPU10: found redistributor 20200 region 0:0x0000000017300000 [Fri Oct 10 09:09:44 2025] CPU10: Booted secondary processor 0x0000020200 [0x511f0011] [Fri Oct 10 09:09:44 2025] CPU10 is up [Fri Oct 10 09:09:44 2025] Detected PIPT I-cache on CPU11 [Fri Oct 10 09:09:44 2025] GICv3: CPU11: found redistributor 20300 region 0:0x0000000017340000 [Fri Oct 10 09:09:44 2025] CPU11: Booted secondary processor 0x0000020300 [0x511f0011] [Fri Oct 10 09:09:44 2025] CPU11 is up [Fri Oct 10 09:09:45 2025] mhi mhi0: Requested to power ON [Fri Oct 10 09:09:45 2025] mhi mhi0: Power on setup success [Fri Oct 10 09:09:45 2025] mhi mhi0: Wait for device to enter SBL or Mission mode [Fri Oct 10 09:09:45 2025] ath12k_pci 0004:01:00.0: chip_id 0x2 chip_family 0x4 board_id 0xff soc_id 0x40170200 [Fri Oct 10 09:09:45 2025] ath12k_pci 0004:01:00.0: fw_version 0x110cffff fw_build_timestamp 2025-06-25 09:26 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3 [Fri Oct 10 09:09:45 2025] nvme nvme0: 12/0/0 default/read/poll queues [Fri Oct 10 09:09:45 2025] OOM killer enabled. [Fri Oct 10 09:09:45 2025] Restarting tasks: Starting [Fri Oct 10 09:09:45 2025] Restarting tasks: Done [Fri Oct 10 09:09:45 2025] random: crng reseeded on system resumption [Fri Oct 10 09:09:45 2025] PM: suspend exit ``` # Suspend without modules Removed modules: `ath12k,mhi_pci_generic,qrtr_mhi,mhi` ``` $ lsmod | grep mhi mhi_pci_generic 40960 0 qrtr_mhi 16384 0 mhi 139264 3 ath12k,mhi_pci_generic,qrtr_mhi qrtr 49152 22 qrtr_smd,qrtr_mhi $ sudo modprobe -r ath12k && sudo modprobe -r mhi_pci_generic && sudo modprobe -r qrtr_mhi && sudo modprobe -r mhi $ lsmod | grep mhi $ ``` (to remove mhi, I had to remove dependent modules first. Last line verified they're unloaded) Relevant dmesg output: ``` [Fri Oct 10 09:20:02 2025] PM: suspend entry (deep) [Fri Oct 10 09:20:02 2025] Filesystems sync: 0.003 seconds [Fri Oct 10 09:20:02 2025] Freezing user space processes [Fri Oct 10 09:20:02 2025] Freezing user space processes completed (elapsed 0.001 seconds) [Fri Oct 10 09:20:02 2025] OOM killer disabled. [Fri Oct 10 09:20:02 2025] Freezing remaining freezable tasks [Fri Oct 10 09:20:02 2025] Freezing remaining freezable tasks completed (elapsed 0.003 seconds) [Fri Oct 10 09:20:02 2025] printk: Suspending console(s) (use no_console_suspend to debug) [Fri Oct 10 09:20:02 2025] Disabling non-boot CPUs ... [Fri Oct 10 09:20:02 2025] migrate_one_irq: 23 callbacks suppressed [Fri Oct 10 09:20:02 2025] IRQ170: set affinity failed(-22). [Fri Oct 10 09:20:02 2025] IRQ192: set affinity failed(-22). [Fri Oct 10 09:20:02 2025] IRQ194: set affinity failed(-22). [Fri Oct 10 09:20:02 2025] psci: CPU11 killed (polled 0 ms) [Fri Oct 10 09:20:02 2025] IRQ170: set affinity failed(-22). [Fri Oct 10 09:20:02 2025] IRQ192: set affinity failed(-22). [Fri Oct 10 09:20:02 2025] IRQ194: set affinity failed(-22). [Fri Oct 10 09:20:02 2025] psci: CPU10 killed (polled 0 ms) [Fri Oct 10 09:20:02 2025] IRQ170: set affinity failed(-22). [Fri Oct 10 09:20:02 2025] IRQ192: set affinity failed(-22). [Fri Oct 10 09:20:02 2025] IRQ194: set affinity failed(-22). [Fri Oct 10 09:20:02 2025] psci: CPU9 killed (polled 0 ms) [Fri Oct 10 09:20:02 2025] IRQ170: set affinity failed(-22). [Fri Oct 10 09:20:02 2025] psci: CPU8 killed (polled 0 ms) [Fri Oct 10 09:20:02 2025] psci: CPU7 killed (polled 0 ms) [Fri Oct 10 09:20:02 2025] psci: CPU6 killed (polled 0 ms) [Fri Oct 10 09:20:02 2025] psci: CPU5 killed (polled 0 ms) [Fri Oct 10 09:20:02 2025] psci: CPU4 killed (polled 0 ms) [Fri Oct 10 09:20:02 2025] psci: CPU3 killed (polled 1 ms) [Fri Oct 10 09:20:02 2025] psci: CPU2 killed (polled 1 ms) [Fri Oct 10 09:20:02 2025] psci: CPU1 killed (polled 1 ms) [Fri Oct 10 09:20:02 2025] Enabling non-boot CPUs ... [Fri Oct 10 09:20:02 2025] Detected PIPT I-cache on CPU1 [Fri Oct 10 09:20:02 2025] GICv3: CPU1: found redistributor 100 region 0:0x00000000170c0000 [Fri Oct 10 09:20:02 2025] CPU1: Booted secondary processor 0x0000000100 [0x512f0011] [Fri Oct 10 09:20:02 2025] CPU1 is up [Fri Oct 10 09:20:02 2025] Detected PIPT I-cache on CPU2 [Fri Oct 10 09:20:02 2025] GICv3: CPU2: found redistributor 200 region 0:0x0000000017100000 [Fri Oct 10 09:20:02 2025] CPU2: Booted secondary processor 0x0000000200 [0x512f0011] [Fri Oct 10 09:20:02 2025] CPU2 is up [Fri Oct 10 09:20:02 2025] Detected PIPT I-cache on CPU3 [Fri Oct 10 09:20:02 2025] GICv3: CPU3: found redistributor 300 region 0:0x0000000017140000 [Fri Oct 10 09:20:02 2025] CPU3: Booted secondary processor 0x0000000300 [0x512f0011] [Fri Oct 10 09:20:02 2025] CPU3 is up [Fri Oct 10 09:20:02 2025] Detected PIPT I-cache on CPU4 [Fri Oct 10 09:20:02 2025] GICv3: CPU4: found redistributor 10000 region 0:0x0000000017180000 [Fri Oct 10 09:20:02 2025] CPU4: Booted secondary processor 0x0000010000 [0x511f0011] [Fri Oct 10 09:20:02 2025] CPU4 is up [Fri Oct 10 09:20:02 2025] Detected PIPT I-cache on CPU5 [Fri Oct 10 09:20:02 2025] GICv3: CPU5: found redistributor 10100 region 0:0x00000000171c0000 [Fri Oct 10 09:20:02 2025] CPU5: Booted secondary processor 0x0000010100 [0x511f0011] [Fri Oct 10 09:20:02 2025] CPU5 is up [Fri Oct 10 09:20:02 2025] Detected PIPT I-cache on CPU6 [Fri Oct 10 09:20:02 2025] GICv3: CPU6: found redistributor 10200 region 0:0x0000000017200000 [Fri Oct 10 09:20:02 2025] CPU6: Booted secondary processor 0x0000010200 [0x511f0011] [Fri Oct 10 09:20:02 2025] CPU6 is up [Fri Oct 10 09:20:02 2025] Detected PIPT I-cache on CPU7 [Fri Oct 10 09:20:02 2025] GICv3: CPU7: found redistributor 10300 region 0:0x0000000017240000 [Fri Oct 10 09:20:02 2025] CPU7: Booted secondary processor 0x0000010300 [0x511f0011] [Fri Oct 10 09:20:02 2025] CPU7 is up [Fri Oct 10 09:20:02 2025] Detected PIPT I-cache on CPU8 [Fri Oct 10 09:20:02 2025] GICv3: CPU8: found redistributor 20000 region 0:0x0000000017280000 [Fri Oct 10 09:20:02 2025] CPU8: Booted secondary processor 0x0000020000 [0x511f0011] [Fri Oct 10 09:20:02 2025] CPU8 is up [Fri Oct 10 09:20:02 2025] Detected PIPT I-cache on CPU9 [Fri Oct 10 09:20:02 2025] GICv3: CPU9: found redistributor 20100 region 0:0x00000000172c0000 [Fri Oct 10 09:20:02 2025] CPU9: Booted secondary processor 0x0000020100 [0x511f0011] [Fri Oct 10 09:20:02 2025] CPU9 is up [Fri Oct 10 09:20:02 2025] Detected PIPT I-cache on CPU10 [Fri Oct 10 09:20:02 2025] GICv3: CPU10: found redistributor 20200 region 0:0x0000000017300000 [Fri Oct 10 09:20:02 2025] CPU10: Booted secondary processor 0x0000020200 [0x511f0011] [Fri Oct 10 09:20:02 2025] CPU10 is up [Fri Oct 10 09:20:02 2025] Detected PIPT I-cache on CPU11 [Fri Oct 10 09:20:02 2025] GICv3: CPU11: found redistributor 20300 region 0:0x0000000017340000 [Fri Oct 10 09:20:02 2025] CPU11: Booted secondary processor 0x0000020300 [0x511f0011] [Fri Oct 10 09:20:02 2025] CPU11 is up [Fri Oct 10 09:20:02 2025] nvme nvme0: 12/0/0 default/read/poll queues [Fri Oct 10 09:20:02 2025] OOM killer enabled. [Fri Oct 10 09:20:02 2025] Restarting tasks: Starting [Fri Oct 10 09:20:02 2025] Restarting tasks: Done [Fri Oct 10 09:20:02 2025] random: crng reseeded on system resumption [Fri Oct 10 09:20:02 2025] PM: suspend exit ``` -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/2127013 Title: [BUG] Lenovo ThinkPad T14s Gen 6 (Snapdragon X Elite): immediate resume / suspend abort (s2idle & deep) Status in linux package in Ubuntu: New Bug description: (NOTE: This was AI-assisted for conciseness, but human reviewed and edited) ### Summary **System:** Lenovo ThinkPad T14s Gen 6 (ARM64, Snapdragon X Elite X1E80100) **OS:** Ubuntu 25.04 (kernel 6.14.x) **Issue:** System immediately resumes from suspend (both `s2idle` and `deep`) --- ### Description When entering suspend (`systemctl suspend`), the laptop begins the suspend sequence but immediately resumes — typically within one second. This happens both when suspending manually and when closing the lid. Note this wake happens before I reopen the lid (in all tests I wait a least 20 seconds before re-opening). No crash, kernel panic, or watchdog reset occurs; the system simply aborts suspend before reaching a low-power state. --- ### Observed behavior - `PM: suspend entry (s2idle|deep)` → CPUs disabled → CPUs re-enabled → `PM: suspend exit` - No “Wakeup: device …” messages appear. - No `event_count` increases in `/sys/kernel/debug/wakeup_sources` — only `last_change` timestamps change. - `last_change` increments for: - `0-003a` (I²C device, likely lid or Hall sensor) - `gpio-keys` (platform driver handling lid and power buttons) This indicates the kernel aborts suspend during entry due to a wake- capable input toggling state, not because of a true wake event. --- ### Tests performed | Test | Result | |------|---------| | Unloaded `ath12k`, `mhi_pci_generic`, `qrtr_mhi`, and `mhi` (Wi-Fi stack) | Same result | | Disabled I²C devices `1-0015`, `1-003a` | Same result | | Disabled lid GPIO wake (`gpio-keys`) | Same result | | `pm_test` (`freezer`, `devices`, `platform`, etc.) | All phases pass | | Verified no `event_count` increases during suspend | Confirmed | | Observed `last_change` updates for `0-003a` and `gpio-keys` | Confirmed | | Using `deep` sleep instead of `s2idle` | Same immediate resume | | No new boot ID or panic → not a reset | Confirmed | --- ### Interpretation - Suspend never actually completes; the system aborts before entering low power. - The abort is triggered by a state change on the lid sensor or its GPIO line. - This appears to be a firmware or kernel driver issue in the `gpio-keys` or I²C lid-sensor path on the Snapdragon X Elite platform. - The behavior matches a “spurious lid wake” or “suspend veto” rather than a true wakeup event. --- ### Expected behavior System should remain suspended until: - the lid is physically opened, or - the power button is pressed. --- ### Relevant logs Example (`deep` suspend attempt): ``` PM: suspend entry (deep) Disabling non-boot CPUs ... psci: CPU11 killed ... ... psci: CPU1 killed ... Enabling non-boot CPUs ... PM: suspend exit ``` see suspend_example.txt for full `dmesg` logs. --- ### Additional information `` $ cat /sys/power/mem_sleep [s2idle] deep ``` - Kernel: `Linux 6.14.x-generic` - Firmware package: `linux-firmware 2025.xx.xx` - BIOS/UEFI version: `N42ET92W (2.22 )` - `/sys/kernel/debug/wakeup_sources` shows only `last_change` updates for `0-003a` and `gpio-keys`. --- ### Summary / Request Suspend aborts immediately on Lenovo T14s Gen 6 (Snapdragon X Elite) due to apparent spurious lid-sensor activity (`gpio-keys` / `0-003a`). No device shows a real wake event; suspend never reaches a low-power state. Please investigate possible issues in: - `drivers/input/keyboard/gpio_keys.c` - Qualcomm/Lenovo lid sensor handling in device tree or firmware - Power management flow for Snapdragon X1E80100 (PSCI / PDC suspend entry) Logs and wakeup source diffs can be provided on request. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2127013/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp

