* [PATCH] platform/x86/amd/pmc: Add spurious_8042 to ASUS ROG Flow Z13 GZ302EA
@ 2026-09-29 18:16 Matthew Schwartz
2026-09-29 18:46 ` Mario Limonciello
2026-10-12 15:55 ` Ilpo Järvinen
0 siblings, 2 replies; 3+ messages in thread
From: Matthew Schwartz @ 2026-09-29 18:16 UTC (permalink / raw)
To: Shyam Sundar S K, Hans de Goede, ilpo.jarvinen
Cc: platform-driver-x86, linux-kernel, Matthew Schwartz
The ASUS ROG Flow Z13 (GZ302EA/GZ302EAC) wakes up from suspend-to-idle
without any user input. With PM debug messages enabled, each unexpected
wakeup shows the EC raising IRQ1 at the same time as the ACPI SCI:
PM: Triggering wakeup from IRQ 9
PM: Triggering wakeup from IRQ 1
ACPI: EC: Query(0xa3) started
ACPI: PM: Wakeup after ACPI Notify sync
EC query 0xa3 only notifies the battery of a status change, which
happens when it transitions between Charging and Full while on AC.
The ACPI core correctly treats that as a non-wakeup event and cancels
the SCI wakeup, but the IRQ1 wakeup remains pending and resumes the
system. i8042 debugging confirms that the keyboard controller has no
data at that point ("Interrupt 1, without any data").
The detachable keyboard on this device is a USB device, so disabling
the i8042 wakeup source does not result in any functional loss. With
serio0 wakeup disabled, the same battery event is processed during
suspend-to-idle and the system stays asleep.
Add the spurious_8042 quirk for it. The GZ302EAC reports sys_vendor
"ASUS" while the GZ302EA reports "ASUSTeK COMPUTER INC.", so match on
"ASUS" and on the "GZ302EA" board name to cover both models.
Signed-off-by: Matthew Schwartz <matthew.schwartz@linux.dev>
---
drivers/platform/x86/amd/pmc/pmc-quirks.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/platform/x86/amd/pmc/pmc-quirks.c
index 09a30f333759..ff5c90510c0c 100644
--- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
+++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
@@ -143,6 +143,14 @@ static const struct dmi_system_id fwbug_list[] = {
DMI_MATCH(DMI_BOARD_NAME, "RC73YA"),
}
},
+ {
+ .ident = "ASUS ROG Flow Z13 GZ302EA",
+ .driver_data = &quirk_spurious_8042,
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUS"),
+ DMI_MATCH(DMI_BOARD_NAME, "GZ302EA"),
+ }
+ },
/* https://bugzilla.kernel.org/show_bug.cgi?id=218024 */
{
.ident = "V14 G4 AMN",
--
2.55.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] platform/x86/amd/pmc: Add spurious_8042 to ASUS ROG Flow Z13 GZ302EA
2026-09-29 18:16 [PATCH] platform/x86/amd/pmc: Add spurious_8042 to ASUS ROG Flow Z13 GZ302EA Matthew Schwartz
@ 2026-09-29 18:46 ` Mario Limonciello
2026-10-12 15:55 ` Ilpo Järvinen
1 sibling, 0 replies; 3+ messages in thread
From: Mario Limonciello @ 2026-09-29 18:46 UTC (permalink / raw)
To: Matthew Schwartz, Shyam Sundar S K, Hans de Goede, ilpo.jarvinen
Cc: platform-driver-x86, linux-kernel
On 9/29/26 13:16, Matthew Schwartz wrote:
> The ASUS ROG Flow Z13 (GZ302EA/GZ302EAC) wakes up from suspend-to-idle
> without any user input. With PM debug messages enabled, each unexpected
> wakeup shows the EC raising IRQ1 at the same time as the ACPI SCI:
>
> PM: Triggering wakeup from IRQ 9
> PM: Triggering wakeup from IRQ 1
> ACPI: EC: Query(0xa3) started
> ACPI: PM: Wakeup after ACPI Notify sync
>
> EC query 0xa3 only notifies the battery of a status change, which
> happens when it transitions between Charging and Full while on AC.
> The ACPI core correctly treats that as a non-wakeup event and cancels
> the SCI wakeup, but the IRQ1 wakeup remains pending and resumes the
> system. i8042 debugging confirms that the keyboard controller has no
> data at that point ("Interrupt 1, without any data").
>
> The detachable keyboard on this device is a USB device, so disabling
> the i8042 wakeup source does not result in any functional loss. With
> serio0 wakeup disabled, the same battery event is processed during
> suspend-to-idle and the system stays asleep.
>
> Add the spurious_8042 quirk for it. The GZ302EAC reports sys_vendor
> "ASUS" while the GZ302EA reports "ASUSTeK COMPUTER INC.", so match on
> "ASUS" and on the "GZ302EA" board name to cover both models.
>
> Signed-off-by: Matthew Schwartz <matthew.schwartz@linux.dev>
Good analysis of this issue. It sounds like the right direction for
this problem.
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
> ---
> drivers/platform/x86/amd/pmc/pmc-quirks.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/platform/x86/amd/pmc/pmc-quirks.c
> index 09a30f333759..ff5c90510c0c 100644
> --- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
> +++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
> @@ -143,6 +143,14 @@ static const struct dmi_system_id fwbug_list[] = {
> DMI_MATCH(DMI_BOARD_NAME, "RC73YA"),
> }
> },
> + {
> + .ident = "ASUS ROG Flow Z13 GZ302EA",
> + .driver_data = &quirk_spurious_8042,
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "ASUS"),
> + DMI_MATCH(DMI_BOARD_NAME, "GZ302EA"),
> + }
> + },
> /* https://bugzilla.kernel.org/show_bug.cgi?id=218024 */
> {
> .ident = "V14 G4 AMN",
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] platform/x86/amd/pmc: Add spurious_8042 to ASUS ROG Flow Z13 GZ302EA
2026-09-29 18:16 [PATCH] platform/x86/amd/pmc: Add spurious_8042 to ASUS ROG Flow Z13 GZ302EA Matthew Schwartz
2026-09-29 18:46 ` Mario Limonciello
@ 2026-10-12 15:55 ` Ilpo Järvinen
1 sibling, 0 replies; 3+ messages in thread
From: Ilpo Järvinen @ 2026-10-12 15:55 UTC (permalink / raw)
To: Shyam Sundar S K, Hans de Goede, Matthew Schwartz
Cc: platform-driver-x86, linux-kernel
On Tue, 29 Sep 2026 20:16:55 +0200, Matthew Schwartz wrote:
> The ASUS ROG Flow Z13 (GZ302EA/GZ302EAC) wakes up from suspend-to-idle
> without any user input. With PM debug messages enabled, each unexpected
> wakeup shows the EC raising IRQ1 at the same time as the ACPI SCI:
>
> PM: Triggering wakeup from IRQ 9
> PM: Triggering wakeup from IRQ 1
> ACPI: EC: Query(0xa3) started
> ACPI: PM: Wakeup after ACPI Notify sync
>
> [...]
Thank you for your contribution, it has been applied to my local
review-ilpo-next branch. Note it will show up in the public
platform-drivers-x86/review-ilpo-next branch only once I've pushed my
local branch there, which might take a while.
FYI [if applicable to your patch], as per Linus' policy change, also
fixes are mostly routed through for-next unless the fix is for a
commit introduced in the most recent cycle or is clearly a regression
fix.
The list of commits applied:
[1/1] platform/x86/amd/pmc: Add spurious_8042 to ASUS ROG Flow Z13 GZ302EA
commit: 0a8ad16321411b45e49bbfb7986348790f3227c6
--
i.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-10-12 15:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-29 18:16 [PATCH] platform/x86/amd/pmc: Add spurious_8042 to ASUS ROG Flow Z13 GZ302EA Matthew Schwartz
2026-09-29 18:46 ` Mario Limonciello
2026-10-12 15:55 ` Ilpo Järvinen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.