[PATCH AUTOSEL 5.15 6/8] ACPI: resource: Use IRQ override on MACHENIKE 16P

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Wentao Guan <guanwentao@xxxxxxxxxxxxx>

[ Upstream commit c99ad987d3e9b550e9839d5df22de97d90462e5f ]

Use ACPI IRQ override on MACHENIKE laptop to make the internal
keyboard work.

Add a new entry to the irq1_edge_low_force_override structure, similar
to the existing ones.

Link: https://bbs.deepin.org.cn/zh/post/287628
Signed-off-by: Wentao Guan <guanwentao@xxxxxxxxxxxxx>
Link: https://patch.msgid.link/20250603122059.1072790-1-guanwentao@xxxxxxxxxxxxx
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---

**YES**

This commit should be backported to stable kernel trees for the
following reasons:

1. **Bug Fix for Non-Functional Hardware**: The commit fixes a broken
   keyboard on MACHENIKE 16P laptops. The internal keyboard does not
   work without this IRQ override, which is a significant hardware
   functionality issue that affects users.

2. **Small and Contained Change**: The change is minimal - it only adds
   7 lines to add a new DMI match entry to the existing
   `irq1_edge_low_force_override` array:
  ```c
  +       {
  +               /* MACHENIKE L16P/L16P */
  +               .matches = {
  +                       DMI_MATCH(DMI_SYS_VENDOR, "MACHENIKE"),
  +                       DMI_MATCH(DMI_BOARD_NAME, "L16P"),
  +               },
  +       },
  ```

3. **Well-Established Pattern**: This follows an established pattern in
   the kernel. The code shows this is part of a long-standing mechanism
   for handling keyboard IRQ issues on AMD Zen platforms where "the DSDT
   specifies the kbd IRQ as falling edge and this must be overridden to
   rising edge, to have a working keyboard."

4. **Similar Commits Were Backported**: Looking at the historical
   commits provided:
   - "ACPI: resource: Do IRQ override on TongFang GXxHRXx and GMxHGxx" -
     marked with "Cc: All applicable <stable@xxxxxxxxxxxxxxx>"
   - "ACPI: resource: Do IRQ override on MECHREV GM7XG0M" - includes
     both "Fixes:" tag and "Cc: All applicable <stable@xxxxxxxxxxxxxxx>"
   - "ACPI: resource: Do IRQ override on Lunnen Ground laptops" - marked
     as YES for backporting
   - "ACPI: resource: IRQ override for Eluktronics MECH-17" - marked as
     YES for backporting

5. **No Risk of Regression**: The change is isolated to MACHENIKE 16P
   laptops only (via DMI matching), so it cannot affect other systems.
   The DMI match ensures this override only applies to the specific
   hardware that needs it.

6. **Critical Functionality**: A non-functional keyboard is a critical
   issue that prevents normal system usage. This is not a minor
   inconvenience but a complete loss of primary input functionality.

The only reason this commit might not have been explicitly marked for
stable is an oversight, as virtually identical commits for other laptop
models fixing the same keyboard IRQ issue have been consistently
backported to stable trees.

 drivers/acpi/resource.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
index 7c08cf69ca311..7e546d2b3884c 100644
--- a/drivers/acpi/resource.c
+++ b/drivers/acpi/resource.c
@@ -638,6 +638,13 @@ static const struct dmi_system_id lg_laptop[] = {
 			DMI_MATCH(DMI_BOARD_NAME, "GMxHGxx"),
 		},
 	},
+	{
+		/* MACHENIKE L16P/L16P */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "MACHENIKE"),
+			DMI_MATCH(DMI_BOARD_NAME, "L16P"),
+		},
+	},
 	{
 		/*
 		 * TongFang GM5HG0A in case of the SKIKK Vanaheim relabel the
-- 
2.39.5





[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux