diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index 257dd73e37bf..ad0a9ff9ecde 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -1020,6 +1020,9 @@ static int usbhid_parse(struct hid_device *hid) num_descriptors = min_t(int, hdesc->bNumDescriptors, (hdesc->bLength - offset) / sizeof(struct hid_class_descriptor)); + printk("%s, %d, %d, %d, %d,%d,%s\n", interface->extra, interface->extralen, num_descriptors, offset, hdesc->bNumDescriptors,hdesc->bLength, __func__); + if (num_descriptors > 1) + num_descriptors = 1; for (n = 0; n < num_descriptors; n++) if (hdesc->desc[n].bDescriptorType == HID_DT_REPORT) rsize = le16_to_cpu(hdesc->desc[n].wDescriptorLength); diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c index 2a938cf47ccd..d49a4943f8a3 100644 --- a/drivers/usb/core/usb.c +++ b/drivers/usb/core/usb.c @@ -960,11 +960,13 @@ int __usb_get_extra_descriptor(char *buffer, unsigned size, if (header->bDescriptorType == type && header->bLength >= minsize) { *ptr = header; + printk("%p, %s\n", header, __func__); return 0; } buffer += header->bLength; size -= header->bLength; + printk("%p, %d, %s\n", header, header->bLength, __func__); } return -1; }