usb: gadget: composite: Write SuperSpeedPlus config descriptors

Enable writing of SuperSpeedPlus descriptors for any SuperSpeedPlus
capable configuration when connected in SuperSpeedPlus.

Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
This commit is contained in:
John Youn 2016-02-05 17:07:17 -08:00 committed by Felipe Balbi
parent f3bdbe3668
commit eae5820b85

View File

@ -473,7 +473,7 @@ static int config_desc(struct usb_composite_dev *cdev, unsigned w_value)
u8 type = w_value >> 8; u8 type = w_value >> 8;
enum usb_device_speed speed = USB_SPEED_UNKNOWN; enum usb_device_speed speed = USB_SPEED_UNKNOWN;
if (gadget->speed == USB_SPEED_SUPER) if (gadget->speed >= USB_SPEED_SUPER)
speed = gadget->speed; speed = gadget->speed;
else if (gadget_is_dualspeed(gadget)) { else if (gadget_is_dualspeed(gadget)) {
int hs = 0; int hs = 0;
@ -504,6 +504,10 @@ static int config_desc(struct usb_composite_dev *cdev, unsigned w_value)
check_config: check_config:
/* ignore configs that won't work at this speed */ /* ignore configs that won't work at this speed */
switch (speed) { switch (speed) {
case USB_SPEED_SUPER_PLUS:
if (!c->superspeed_plus)
continue;
break;
case USB_SPEED_SUPER: case USB_SPEED_SUPER:
if (!c->superspeed) if (!c->superspeed)
continue; continue;