Re: [PATCH] gpiolib: acpi: Add quirk for ASUS ROG Strix G614 series
From: Basavaraj Natikar
Date: Wed Jun 17 2026 - 14:39:45 EST
hi,
On 6/16/2026 2:38 PM, Marco Scardovi wrote:
The ASUS ROG Strix G16 G614 series laptops experience a long boot delay of
approximately 36 seconds. This happens because the system firmware triggers
a slow/hanging ActiveBoth GPIO interrupt handler at boot time.
Even though commit 3bb62e3f99a5 ("gpiolib: acpi: Only trigger ActiveBoth
interrupts on boot") restricted boot-time execution to ActiveBoth edge
events, the problematic interrupt on these laptops is configured as
ActiveBoth. Consequently, the handler is still executed at boot and
the boot process stalls.
Fix the delay by adding a DMI quirk to disable edge event execution at
boot for the ASUS ROG Strix G16 G614 family.
Could you reword the commit message to explain the actual mechanism?
Something like:
On ASUS ROG Strix G16 G614 series laptops, the firmware leaves this
ActiveBoth GPIO line asserted (logic low) at boot. Per the boot-time
initial-state logic, an ActiveBoth interrupt found low is replayed
once to sync its initial state, which calls the handler synchronously
in the probe path. On these laptops that interrupt handler is slow/hanging,
so the synchronous call blocks for ~36 s and stalls boot.
It's also worth noting that commit 3bb62e3f99a5 already restricts the
boot-time replay to ActiveBoth interrupts that are asserted (low) — the pin
on ASUS ROG Strix G16 G614 series laptops meets exactly that condition,
which is why it still triggers. Disabling edge_events_on_boot via the
DMI quirk is therefore the right workaround for these laptops.
Thanks,
--
Basavaraj
Assisted-by: Antigravity:gemini-3.5-flash
Signed-off-by: Marco Scardovi <scardracs@xxxxxxxxxxx>
---
drivers/gpio/gpiolib-acpi-quirks.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/drivers/gpio/gpiolib-acpi-quirks.c b/drivers/gpio/gpiolib-acpi-quirks.c
index a0116f004975..fa0f03bd51af 100644
--- a/drivers/gpio/gpiolib-acpi-quirks.c
+++ b/drivers/gpio/gpiolib-acpi-quirks.c
@@ -392,6 +392,20 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
.ignore_wake = "VEN_0488:00@355",
},
},
+ {
+ /*
+ * ASUS ROG Strix G614 series laptops experience a long boot
+ * delay (approx. 36 seconds) due to a slow/hanging ActiveBoth
+ * GPIO interrupt handler executing at boot.
+ */
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "ROG Strix G16 G614"),
+ },
+ .driver_data = &(struct acpi_gpiolib_dmi_quirk) {
+ .no_edge_events_on_boot = true,
+ },
+ },
{} /* Terminating entry */
};