@@ -1327,6 +1327,7 @@ static long ffs_epfile_ioctl(struct file *file, unsigned code,
struct usb_endpoint_descriptor *desc;
switch (epfile->ffs->gadget->speed) {
+ case USB_SPEED_SUPER_PLUS:
case USB_SPEED_SUPER:
desc_idx = 2;
break;
@@ -3222,6 +3223,10 @@ static int _ffs_func_bind(struct usb_configuration *c,
func->function.os_desc_n =
c->cdev->use_os_string ? ffs->interfaces_count : 0;
+ if (likely(super)) {
+ func->function.ssp_descriptors =
+ usb_copy_descriptors(func->function.ss_descriptors);
+ }
/* And we're done */
ffs_event_add(ffs, FUNCTIONFS_BIND);
return 0;