From 01be0e31b4fd991f955f77ec06d0c8b7a6d0fb13 Mon Sep 17 00:00:00 2001
From: Zhang Heng <[email protected]>
Date: Fri, 12 Sep 2025 20:38:18 +0800
Subject: [PATCH v4] HID: quirks: Change manufacturer for 4c4a:4155

Based on available evidence, the USB ID 4c4a:4155 used by multiple
devices has been attributed to Jieli. The commit 1a8953f4f774
("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") affected touchscreen
functionality. Added checks for manufacturer and serial number to
maintain microphone compatibility, enabling both devices to function
properly.

Fixes: 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY")
Cc: [email protected]
Tested-by: [email protected]
Signed-off-by: Zhang Heng <[email protected]>
---
Changes in v4:
-- add serial number. Since I saw JIELI using identical IDs for different
devices with distinct serial numbers, I worry SMARTLINKTECHNOLOGY might
reuse this ID for touchscreens. Adding serial number verification provides
extra insurance.
 drivers/hid/hid-ids.h    |  4 ++--
 drivers/hid/hid-quirks.c | 13 ++++++++++++-
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 66f05d02cfca..5e6e87487205 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -1546,7 +1546,7 @@
 #define USB_VENDOR_ID_SIGNOTEC                 0x2133
 #define USB_DEVICE_ID_SIGNOTEC_VIEWSONIC_PD1011        0x0018
 
-#define USB_VENDOR_ID_SMARTLINKTECHNOLOGY              0x4c4a
-#define USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155         0x4155
+#define USB_VENDOR_ID_JIELI_SDK_DEFAULT                0x4c4a
+#define USB_DEVICE_ID_JIELI_SDK_4155           0x4155
 
 #endif
diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
index bcd4bccf1a7c..22760ac50f2d 100644
--- a/drivers/hid/hid-quirks.c
+++ b/drivers/hid/hid-quirks.c
@@ -915,7 +915,6 @@ static const struct hid_device_id hid_ignore_list[] = {
 #endif
        { HID_USB_DEVICE(USB_VENDOR_ID_YEALINK, 
USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) },
        { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, 
USB_DEVICE_ID_QUANTA_HP_5MP_CAMERA_5473) },
-       { HID_USB_DEVICE(USB_VENDOR_ID_SMARTLINKTECHNOLOGY, 
USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155) },
        { }
 };
 
@@ -1064,6 +1063,18 @@ bool hid_ignore(struct hid_device *hdev)
                                             strlen(elan_acpi_id[i].id)))
                                        return true;
                break;
+       case USB_VENDOR_ID_JIELI_SDK_DEFAULT:
+               /*
+                * Multiple USB devices with identical IDs (mic & touchscreen).
+                * The touch screen requires hid core processing, but the
+                * microphone does not. They can be distinguished by 
manufacturer
+                * and serial number.
+                */
+               if (hdev->product == USB_DEVICE_ID_JIELI_SDK_4155 &&
+                   strncmp(hdev->name, "SmartlinkTechnology", 19) == 0 &&
+                   strncmp(hdev->uniq, "20201111000001", 14) == 0)
+                       return true;
+               break;
        }
 
        if (hdev->type == HID_TYPE_USBMOUSE &&
-- 
2.47.1

Reply via email to