]> 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 12:50:05 +0000 (13:50 +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 33d73687e463d928b6971d221a53c079f85f4bbd..baa77a8e83652641300117fc95e09d13ac0a74df 100644 (file)
@@ -1640,6 +1640,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 */
 };