[PATCH] ACPI: PM: Add unused power resource quirk for THUNDEROBOT 911Pro
From: lofm2605
Date: Sun Oct 11 2026 - 01:45:34 EST
From: VU TUNG LAM <lofm2605@xxxxxxxxx>
On the THUNDEROBOT 911Pro laptop (board NLCC, BIOS TP127), the NVMe
drive in the CPU-attached M.2 slot (0000:02:00.0, behind root port
00:01.1) and the discrete NVIDIA GPU (0000:01:00.0) are inaccessible
after boot:
nvme 0000:02:00.0: Unable to change power state from D3cold to D0, device inaccessible
nvme 0000:02:00.0: error -ENODEV: probe failed
snd_hda_intel 0000:01:00.1: Unable to change power state from D3cold to D0, device inaccessible
Both devices are enumerated normally and work under Windows. This is
the same symptom as on the THUNDEROBOT ZERO, a sibling Tiger Lake-H +
RTX 3060 model, which was fixed by commit cd7ef20ba8c6 ("ACPI: PM: Add
unused power resource quirk for THUNDEROBOT ZERO"). The SSDT with OEM
Table ID "TglH_Rvp" on this machine defines PXP_ power resources in the
same way, but the existing quirk only matches product names containing
"ZERO".
Add a DMI entry for the 911Pro so that its unused power resources are
left on, as is done for the ZERO.
Fixes: a1224f34d72a ("ACPI: PM: Check states of power resources during initialization")
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=222118
Assisted-by: LLM
Signed-off-by: LamVU <lofm2605@xxxxxxxxx>
---
Not tested: I have not been able to build and boot a kernel with this
change yet. The failure was observed with Ubuntu's 7.0.0-31-generic
kernel, which already contains cd7ef20ba8c6. I can test a patched
kernel and boot with dyndbg="file drivers/acpi/power.c +p" if needed.
drivers/acpi/power.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c
--- a/drivers/acpi/power.c
+++ b/drivers/acpi/power.c
@@ -1121,6 +1121,20 @@ static const struct dmi_system_id dmi_leave_unused_power_resources_on[] = {
}
},
+ {
+ /*
+ * THUNDEROBOT 911Pro (board NLCC): same SSDT bug as the
+ * THUNDEROBOT ZERO above. Power resource 'PXP' is turned off
+ * as unused during initialization, which makes the NVMe drive
+ * in the CPU-attached M.2 slot and the NVIDIA dGPU
+ * inaccessible.
+ */
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "THUNDEROBOT"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "911Pro"),
+ DMI_MATCH(DMI_BOARD_NAME, "NLCC"),
+ },
+ },
{}
};