summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Everaars <robineveraars@pm.me>2026-08-17 14:14:17 +0000
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2026-08-21 21:33:33 +0200
commit415125669c2ddc773c579a60df108f75712dfa83 (patch)
tree3a9571e108980932d855bea6f90e229b9d62d6e2
parent0d508f1745b57272d4d4a3d50dc35aa2a3682238 (diff)
ACPI: button: Add DMI quirk for Razer Blade Pro 17 early 2020 lid switch
The lid switch reports "close" but can miss the matching "open", leaving _LID closed after resume. systemd-logind then suspends the system again roughly every 35 seconds. Reading the embedded controller's PSTA byte while _LID is stale shows that bit 0x04 is set, which the DSDT treats as open. The DSDT returns the cached LIDS byte from _LID. Its wake path aborts in RTEC on an unhandled SystemCMOS region before copying PSTA to LIDS. Initialize the lid state to open on resume, matching the existing quirk for the Razer Blade Stealth 13 late 2019. With button.lid_init_state=open, a physical close suspended once and resume reported open without another suspend. Signed-off-by: Robin Everaars <robineveraars@pm.me> Link: https://patch.msgid.link/20260817141414.213075-1-robineveraars@pm.me Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--drivers/acpi/button.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c
index 3836ee75dd66..cdbb1023a8ee 100644
--- a/drivers/acpi/button.c
+++ b/drivers/acpi/button.c
@@ -135,6 +135,17 @@ static const struct dmi_system_id dmi_lid_quirks[] = {
},
{
/*
+ * Razer Blade Pro 17 early 2020, notification of the LID device
+ * only happens on close, not on open and _LID keeps returning closed.
+ */
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Razer"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Blade Pro 17 (Early 2020) - RZ09-0329"),
+ },
+ .driver_data = (void *)(long)ACPI_BUTTON_LID_INIT_OPEN,
+ },
+ {
+ /*
* Samsung galaxybook2 ,initial _LID device notification returns
* lid closed.
*/