|
@@ -2543,11 +2543,14 @@ int usb_authorize_device(struct usb_device *usb_dev)
|
|
|
"can't autoresume for authorization: %d\n", result);
|
|
|
goto error_autoresume;
|
|
|
}
|
|
|
- result = usb_get_device_descriptor(usb_dev, sizeof(usb_dev->descriptor));
|
|
|
- if (result < 0) {
|
|
|
- dev_err(&usb_dev->dev, "can't re-read device descriptor for "
|
|
|
- "authorization: %d\n", result);
|
|
|
- goto error_device_descriptor;
|
|
|
+
|
|
|
+ if (usb_dev->wusb) {
|
|
|
+ result = usb_get_device_descriptor(usb_dev, sizeof(usb_dev->descriptor));
|
|
|
+ if (result < 0) {
|
|
|
+ dev_err(&usb_dev->dev, "can't re-read device descriptor for "
|
|
|
+ "authorization: %d\n", result);
|
|
|
+ goto error_device_descriptor;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
usb_dev->authorized = 1;
|