Re: [PATCH] ACPI: PM: Add unused power resource quirk for THUNDEROBOT ZERO

From: Rafael J. Wysocki

Date: Mon Feb 16 2026 - 12:24:02 EST


On Sat, Feb 14, 2026 at 5:15 PM Zhai Can <bczhc0@xxxxxxx> wrote:
>
> 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 a1224f34d72a ("ACPI: PM: Check states of
> power resources during initialization"). Here are test results on
> the three consecutive commits:
>
> (bad again!) a1224f34d72a ACPI: PM: Check states of power resources during initialization
> (good) bc2836859643 ACPI: PM: Do not turn off power resources in unknown state
> (bad) 519d81956ee2 Linux 5.15-rc6
>
> On commit bc2836859643 ("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 9b04d99788cf ("ACPI: PM:
> Do not turn of unused power resources on the Toshiba Click Mini") which
> is another almost identical case to this one.
>
> Fixes: a1224f34d72a ("ACPI: PM: Check states of power resources during initialization")
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=221087
> Signed-off-by: Zhai Can <bczhc0@xxxxxxx>
> ---
> drivers/acpi/power.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c
> index 361a7721a6a8..7da5ae5594a7 100644
> --- a/drivers/acpi/power.c
> +++ b/drivers/acpi/power.c
> @@ -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"),
> + }
> +
> + },
> {}
> };
>
> --

Applied as 7.0-rc material, thanks!