From: Antheas Kapenekakis lkml@antheas.dev
[ Upstream commit 3712ce9fa501617cdc4466d30ae3894d50887743 ]
Same issue as G1619-04 in commit 805c74eac8cb ("gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-04"), Strix Point lineup uses 05.
Signed-off-by: Antheas Kapenekakis lkml@antheas.dev Reviewed-by: Mika Westerberg westeri@kernel.org Reviewed-by: Mario Limonciello mario.limonciello@amd.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Signed-off-by: Sasha Levin sashal@kernel.org ---
LLM Generated explanations, may be completely bogus:
## **Backport Status: YES**
Based on my comprehensive and exhaustive analysis, this commit **should be backported to stable kernel trees**.
## Detailed Analysis
### Commit Summary This commit adds a DMI quirk for the GPD G1619-05 device to prevent spurious wakeups from the touchpad, identical to the existing quirk for G1619-04. The change is a simple addition of 12 lines to the quirks table in `drivers/gpio/gpiolib-acpi-quirks.c`.
### Key Evidence Supporting Backport
1. **Fixes a Real User-Impacting Bug** - Spurious wakeups are a significant usability issue where the system immediately wakes after suspend - This is caused by the touchpad's TP_ATTN# pin (GPIO pin 8) generating false wake events when losing power - Issue confirmed to affect the newer Strix Point lineup (G1619-05)
2. **Precedent and Consistency** - The identical fix for G1619-04 (commit 805c74eac8cb) was explicitly marked with `Cc: stable@vger.kernel.org` - That commit has been stable since January 2024 with no follow-up fixes or reverts needed - The G1619-05 is simply a newer model with the same hardware issue
3. **Minimal and Safe Change** - Only 12 lines of data addition to an existing quirks table - No code logic changes, only adding a DMI match entry - Hardware-specific: only affects GPD G1619-05 devices, zero impact on other systems - Uses well-established quirk infrastructure that has been stable for years
4. **Meets All Stable Kernel Criteria** - ✅ Fixes a real bug that bothers users (spurious wakeups) - ✅ Obviously correct and tested (identical to existing working quirk) - ✅ Small change (<100 lines) - ✅ Self-contained with no dependencies - ✅ No architectural changes or new features
5. **Risk Assessment: VERY LOW** - DMI matching is highly specific (vendor="GPD", product="G1619-05") - Cannot affect systems that don't match these exact DMI strings - Quirk mechanism has proven track record of stability - No security implications identified - Clean architectural integration
6. **Historical Stability** - The quirks framework has been stable since 2020 - Similar quirks exist for multiple vendors (Clevo, HP, Dell, Acer) - No pattern of instability or frequent fixes in this subsystem - The file was recently refactored (May 2025) for better maintenance without functional changes
### Specific Code Analysis The change adds this entry to the `gpiolib_acpi_quirks` table: ```c { /* Same as G1619-04. New model. */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "GPD"), DMI_MATCH(DMI_PRODUCT_NAME, "G1619-05"), }, .driver_data = &(struct acpi_gpiolib_dmi_quirk) { .ignore_wake = "PNP0C50:00@8", }, }, ```
This tells the GPIO subsystem to ignore wake events from pin 8 of the PNP0C50:00 ACPI device (the touchpad) on systems matching the GPD G1619-05 DMI identifiers.
### Conclusion This is an ideal candidate for stable backport: it fixes a real hardware issue with minimal risk, follows established patterns, and has clear precedent. The change should be backported to all stable trees that contain the GPIO ACPI quirks infrastructure, particularly those that already have the G1619-04 quirk for consistency across the GPD product line.
drivers/gpio/gpiolib-acpi-quirks.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/drivers/gpio/gpiolib-acpi-quirks.c b/drivers/gpio/gpiolib-acpi-quirks.c index c13545dce3492..bb63138c4b5b7 100644 --- a/drivers/gpio/gpiolib-acpi-quirks.c +++ b/drivers/gpio/gpiolib-acpi-quirks.c @@ -317,6 +317,18 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = { .ignore_wake = "PNP0C50:00@8", }, }, + { + /* + * Same as G1619-04. New model. + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "GPD"), + DMI_MATCH(DMI_PRODUCT_NAME, "G1619-05"), + }, + .driver_data = &(struct acpi_gpiolib_dmi_quirk) { + .ignore_wake = "PNP0C50:00@8", + }, + }, { /* * Spurious wakeups from GPIO 11