Commit cd7ef20b authored by Zhai Can's avatar Zhai Can Committed by Rafael J. Wysocki
Browse files

ACPI: PM: Add unused power resource quirk for THUNDEROBOT ZERO

On the THUNDEROBOT ZERO laptop, the second NVMe slot and the discrete
NVIDIA GPU are both controlled by power-resource PXP. Due to the SSDT table
bug (lack of reference), PXP will be shut dow as an "unused" power resource
during initialization, making the NVMe slot #2 + NVIDIA both inaccessible.

This issue was introduced by commit a1224f34 ("ACPI: PM: Check
states of power resources during initialization"). Here are test
results on the three consecutive commits:

(bad again!) a1224f34 ACPI: PM: Check states of power resources during initialization
(good) bc283685 ACPI: PM: Do not turn off power resources in unknown state
(bad) 519d8195 Linux 5.15-rc6

On commit bc283685 ("ACPI: PM: Do not turn off power resources in
unknown state") this was not an issue because the power resource state
left UNKNOWN thus being ignored.

See also commit 9b04d997 ("ACPI: PM: Do not turn of unused power
resources on the Toshiba Click Mini") which is another almost identical
case to this one.

Fixes: a1224f34 ("ACPI: PM: Check states of power resources during initialization")
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=221087


Signed-off-by: default avatarZhai Can <bczhc0@126.com>
Link: https://patch.msgid.link/20260214161452.2849346-1-bczhc0@126.com


Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent d84e1733
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -1113,6 +1113,19 @@ static const struct dmi_system_id dmi_leave_unused_power_resources_on[] = {
			DMI_MATCH(DMI_PRODUCT_NAME, "SATELLITE Click Mini L9W-B"),
		},
	},
	{
		/*
		 * THUNDEROBOT ZERO laptop: Due to its SSDT table bug, power
		 * resource 'PXP' will be shut down on initialization, making
		 * the NVMe #2 and the NVIDIA dGPU both unavailable (they're
		 * both controlled by 'PXP').
		 */
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "THUNDEROBOT"),
			DMI_MATCH(DMI_PRODUCT_NAME, "ZERO"),
		}

	},
	{}
};