]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
HID: usbhid: refactor endpoint lookup
authorJohan Hovold <johan@kernel.org>
Mon, 30 Mar 2026 09:50:34 +0000 (11:50 +0200)
committerJiri Kosina <jkosina@suse.com>
Thu, 9 Apr 2026 15:58:12 +0000 (17:58 +0200)
Use the common USB helper for looking up interrupt-in endpoints instead
of open coding.

Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/usbhid/hid-core.c

index ddd5d77fb5a5e8ebfea590e10a9dd338063b497f..2447bc7cb7a1de78bcce4f82e6e5c89e602ceeca 100644 (file)
@@ -1363,19 +1363,17 @@ static int usbhid_probe(struct usb_interface *intf, const struct usb_device_id *
 {
        struct usb_host_interface *interface = intf->cur_altsetting;
        struct usb_device *dev = interface_to_usbdev(intf);
+       struct usb_endpoint_descriptor *ep;
        struct usbhid_device *usbhid;
        struct hid_device *hid;
-       unsigned int n, has_in = 0;
        size_t len;
        int ret;
 
        dbg_hid("HID probe called for ifnum %d\n",
                        intf->altsetting->desc.bInterfaceNumber);
 
-       for (n = 0; n < interface->desc.bNumEndpoints; n++)
-               if (usb_endpoint_is_int_in(&interface->endpoint[n].desc))
-                       has_in++;
-       if (!has_in) {
+       ret = usb_find_int_in_endpoint(interface, &ep);
+       if (ret) {
                hid_err(intf, "couldn't find an input interrupt endpoint\n");
                return -ENODEV;
        }