[PATCH] HID: amd_sfh: Add DMI quirk for ASUS VivoBook Flip 14 TP420IA
From: Artem Suvorov via B4 Relay
Date: Mon Oct 19 2026 - 09:45:41 EST
From: Artem Suvorov <oolaa@xxxxxxxxx>
On the ASUS VivoBook Flip 14 TP420IA (Ryzen 5 4500U, BIOS TP420IA.305)
the MP2 firmware does not answer sensor commands sent with interrupts
disabled, so the sensor hub finds no sensors and the accelerometer is
missing (no screen auto-rotation):
pcie_mp2_amd 0000:03:00.7: Failed to discover, sensors not enabled is 0
This is the same problem as on the HP ProBook x360 435 G7 and the ASUS
TP420UA/TM420UA, which already have a DMI quirk for it. The TP420IA
reports the DMI product name "VivoBook_ASUSLaptop TP420IA", so the
existing TP420UA_TM420UA entry does not match it.
Add a DMI quirk for the TP420IA so that interrupts stay enabled.
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=222143
Fixes: b300667b33b2 ("HID: amd_sfh: Disable the interrupt for all command")
Cc: stable@xxxxxxxxxxxxxxx
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Artem Suvorov <oolaa@xxxxxxxxx>
---
Tested on a TP420IA (Fedora 44, kernels 7.2.10 and 7.2.11) with the
amd_sfh driver from v7.2.10 built out of tree with the same DMI entry:
the sensor hub is found, accel_3d shows up as an IIO device,
iio-sensor-proxy reports all four orientations and GNOME rotates the
screen. Without the entry the probe fails as quoted above.
This patch itself is against hid.git for-next, where the TP420UA_TM420UA
entry was added; there amd_sfh_pcie.c builds without warnings (W=1). I
have not booted a for-next kernel on the laptop.
With the quirk the log also shows repeated
hid-sensor-hub 0020:1022:0001.0001: Event data for report 1 was too short (15 vs 14)
but the accelerometer data is correct.
AI disclosure: Claude (claude-opus-5-5, in Claude Code) helped me find
the cause by comparing with bug 218104, wrote the DMI entry and drafted
the changelog. I reviewed it and did all testing on my own laptop.
---
drivers/hid/amd-sfh-hid/amd_sfh_pcie.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c b/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c
index b3cb13b8c5e8..a88867075291 100644
--- a/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c
+++ b/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c
@@ -322,6 +322,13 @@ static const struct dmi_system_id dmi_sfh_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "VivoBook_ASUSLaptop TP420UA_TM420UA"),
},
},
+ {
+ .callback = mp2_disable_intr,
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "VivoBook_ASUSLaptop TP420IA"),
+ },
+ },
{}
};
---
base-commit: 92d5263296a43f3808926b11848832bddf2590aa
change-id: 20261019-amd-sfh-tp420ia-5052f202f118
Best regards,
--
Artem Suvorov <oolaa@xxxxxxxxx>