]> git.baikalelectronics.ru Git - kernel.git/commitdiff
HID: holtek: fix mouse probing
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>
Mon, 20 Dec 2021 09:51:20 +0000 (10:51 +0100)
committerBenjamin Tissoires <benjamin.tissoires@redhat.com>
Mon, 20 Dec 2021 10:25:42 +0000 (11:25 +0100)
An overlook from the previous commit: we don't even parse or start the
device, meaning that the device is not presented to user space.

Fixes: 3c5c44dd7f1f ("HID: check for valid USB device for many HID drivers")
Cc: stable@vger.kernel.org
Link: https://bugs.archlinux.org/task/73048
Link: https://bugzilla.kernel.org/show_bug.cgi?id=215341
Link: https://lore.kernel.org/r/e4efbf13-bd8d-0370-629b-6c80c0044b15@leemhuis.info/
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
drivers/hid/hid-holtek-mouse.c

index b7172c48ef9f0898ec5b6d0596d808aa4908b26c..7c907939bfae1d9a5398f574a284b66190fcbfd5 100644 (file)
@@ -65,8 +65,23 @@ static __u8 *holtek_mouse_report_fixup(struct hid_device *hdev, __u8 *rdesc,
 static int holtek_mouse_probe(struct hid_device *hdev,
                              const struct hid_device_id *id)
 {
+       int ret;
+
        if (!hid_is_usb(hdev))
                return -EINVAL;
+
+       ret = hid_parse(hdev);
+       if (ret) {
+               hid_err(hdev, "hid parse failed: %d\n", ret);
+               return ret;
+       }
+
+       ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
+       if (ret) {
+               hid_err(hdev, "hw start failed: %d\n", ret);
+               return ret;
+       }
+
        return 0;
 }