|
@@ -594,6 +594,14 @@ uvc_function_bind(struct usb_configuration *c, struct usb_function *f)
|
|
|
opts->streaming_maxpacket = clamp(opts->streaming_maxpacket, 1U, 3072U);
|
|
|
opts->streaming_maxburst = min(opts->streaming_maxburst, 15U);
|
|
|
|
|
|
+ /* For SS, wMaxPacketSize has to be 1024 if bMaxBurst is not 0 */
|
|
|
+ if (opts->streaming_maxburst &&
|
|
|
+ (opts->streaming_maxpacket % 1024) != 0) {
|
|
|
+ opts->streaming_maxpacket = roundup(opts->streaming_maxpacket, 1024);
|
|
|
+ INFO(cdev, "overriding streaming_maxpacket to %d\n",
|
|
|
+ opts->streaming_maxpacket);
|
|
|
+ }
|
|
|
+
|
|
|
/* Fill in the FS/HS/SS Video Streaming specific descriptors from the
|
|
|
* module parameters.
|
|
|
*
|