diff options
Diffstat (limited to 'drivers/usb/misc/usbtest.c')
-rw-r--r-- | drivers/usb/misc/usbtest.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c index 1fdd88f382cc..e7235d5cce85 100644 --- a/drivers/usb/misc/usbtest.c +++ b/drivers/usb/misc/usbtest.c | |||
@@ -689,6 +689,19 @@ static int ch9_postconfig(struct usbtest_dev *dev) | |||
689 | return (retval < 0) ? retval : -EDOM; | 689 | return (retval < 0) ? retval : -EDOM; |
690 | } | 690 | } |
691 | 691 | ||
692 | /* | ||
693 | * there's always [9.4.3] a bos device descriptor [9.6.2] in USB | ||
694 | * 3.0 spec | ||
695 | */ | ||
696 | if (le16_to_cpu(udev->descriptor.bcdUSB) >= 0x0300) { | ||
697 | retval = usb_get_descriptor(udev, USB_DT_BOS, 0, dev->buf, | ||
698 | sizeof(*udev->bos->desc)); | ||
699 | if (retval != sizeof(*udev->bos->desc)) { | ||
700 | dev_err(&iface->dev, "bos descriptor --> %d\n", retval); | ||
701 | return (retval < 0) ? retval : -EDOM; | ||
702 | } | ||
703 | } | ||
704 | |||
692 | /* there's always [9.4.3] at least one config descriptor [9.6.3] */ | 705 | /* there's always [9.4.3] at least one config descriptor [9.6.3] */ |
693 | for (i = 0; i < udev->descriptor.bNumConfigurations; i++) { | 706 | for (i = 0; i < udev->descriptor.bNumConfigurations; i++) { |
694 | retval = usb_get_descriptor(udev, USB_DT_CONFIG, i, | 707 | retval = usb_get_descriptor(udev, USB_DT_CONFIG, i, |