From 80522fadf65006e10842b7270ef7a56d3b62644b Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Tue, 2 Mar 2021 14:29:13 +0100 Subject: [PATCH] usb_hid: don't touch non-HID interfaces Issue #4035 --- repos/dde_linux/src/drivers/usb_hid/main.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/repos/dde_linux/src/drivers/usb_hid/main.cc b/repos/dde_linux/src/drivers/usb_hid/main.cc index 328bfe124a..6664b43926 100644 --- a/repos/dde_linux/src/drivers/usb_hid/main.cc +++ b/repos/dde_linux/src/drivers/usb_hid/main.cc @@ -73,7 +73,11 @@ void Driver::Device::register_device() struct usb_interface * iface = udev->config->interface[i]; struct usb_host_interface * alt = iface->cur_altsetting; + if (alt->desc.bInterfaceClass != USB_CLASS_HID) + continue; + for (int j = 0; j < alt->desc.bNumEndpoints; ++j) { + struct usb_host_endpoint * ep = &alt->endpoint[j]; int epnum = usb_endpoint_num(&ep->desc); int is_out = usb_endpoint_dir_out(&ep->desc);