In case of super-speed descriptors for a UVC device, the `bEndpointAddress` of the video control endpoint (interrupt endpoint), was not correctly assigned and hence it was initialized with a default value of 0x80. This caused the enumeration of a super-speed UVC device on a Windows7 host machine to fail. This patch fixes this issue and the UVC device enumeration has been tested on a Windows7 host machine. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxx> --- drivers/usb/gadget/f_uvc.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/drivers/usb/gadget/f_uvc.c b/drivers/usb/gadget/f_uvc.c index 2a8bf06..70fa610 100644 --- a/drivers/usb/gadget/f_uvc.c +++ b/drivers/usb/gadget/f_uvc.c @@ -703,6 +703,10 @@ uvc_function_bind(struct usb_configuration *c, struct usb_function *f) uvc_ss_streaming_ep.bEndpointAddress = uvc_fs_streaming_ep.bEndpointAddress; + /* Video Control endpoint */ + uvc_ss_control_ep.bEndpointAddress = + uvc_fs_control_ep.bEndpointAddress; + /* Copy descriptors. */ f->ss_descriptors = uvc_copy_descriptors(uvc, USB_SPEED_SUPER); } -- 1.7.3.4 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html