]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
gpiolib: acpi: Add a quirk for Acer Nitro ANV14
authorMario Limonciello <mario.limonciello@amd.com>
Tue, 11 Feb 2025 20:32:01 +0000 (14:32 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Feb 2025 13:01:36 +0000 (14:01 +0100)
commit 8743d66979e494c5378563e6b5a32e913380abd8 upstream.

Spurious immediate wake up events are reported on Acer Nitro ANV14. GPIO 11 is
specified as an edge triggered input and also a wake source but this pin is
supposed to be an output pin for an LED, so it's effectively floating.

Block the interrupt from getting set up for this GPIO on this device.

Cc: stable@vger.kernel.org
Reported-by: Delgan <delgan.py@gmail.com>
Tested-by: Delgan <delgan.py@gmail.com>
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3954
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Acked-by: Mika Westerberg <westeri@kernel.org>
Link: https://lore.kernel.org/r/20250211203222.761206-1-superm1@kernel.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpio/gpiolib-acpi.c

index 78ecd56123a3b6eb757a582059526ae0afda0d58..148b4d1788a21905d488b411a0e179e8ec467e34 100644 (file)
@@ -1691,6 +1691,20 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
                        .ignore_wake = "PNP0C50:00@8",
                },
        },
+       {
+               /*
+                * Spurious wakeups from GPIO 11
+                * Found in BIOS 1.04
+                * https://gitlab.freedesktop.org/drm/amd/-/issues/3954
+                */
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
+                       DMI_MATCH(DMI_PRODUCT_FAMILY, "Acer Nitro V 14"),
+               },
+               .driver_data = &(struct acpi_gpiolib_dmi_quirk) {
+                       .ignore_interrupt = "AMDI0030:00@11",
+               },
+       },
        {} /* Terminating entry */
 };