Lenovo Yoga 7 needs to have keyboard interrupt signaling polarity is incorrect in the MADT and the value from the DSDT should be used. Reported-by: August Wikerfors <git@xxxxxxxxxxxxxxxxxx> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217718 Fixes: a9c4a912b7dc ("ACPI: resource: Remove "Zen" specific match and quirks") Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> --- v1->v2: * Level->edge --- drivers/acpi/resource.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c index 1dd8d5aebf678..6ff788223f332 100644 --- a/drivers/acpi/resource.c +++ b/drivers/acpi/resource.c @@ -481,6 +481,17 @@ static const struct dmi_system_id lg_laptop[] = { { } }; +static const struct dmi_system_id lenovo_laptop[] = { + { + .ident = "Lenovo Yoga 7 14ARB7", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "82QF"), + }, + }, + { } +}; + struct irq_override_cmp { const struct dmi_system_id *system; unsigned char irq; @@ -494,6 +505,7 @@ static const struct irq_override_cmp override_table[] = { { medion_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, { asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, { lg_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, + { lenovo_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, false} }; static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity, -- 2.34.1