|
@@ -439,8 +439,14 @@ static int dwc3_gadget_set_ep_config(struct dwc3 *dwc, struct dwc3_ep *dep,
|
|
|
memset(¶ms, 0x00, sizeof(params));
|
|
|
|
|
|
params.param0 = DWC3_DEPCFG_EP_TYPE(usb_endpoint_type(desc))
|
|
|
- | DWC3_DEPCFG_MAX_PACKET_SIZE(usb_endpoint_maxp(desc))
|
|
|
- | DWC3_DEPCFG_BURST_SIZE(dep->endpoint.maxburst - 1);
|
|
|
+ | DWC3_DEPCFG_MAX_PACKET_SIZE(usb_endpoint_maxp(desc));
|
|
|
+
|
|
|
+ /* Burst size is only needed in SuperSpeed mode */
|
|
|
+ if (dwc->gadget.speed == USB_SPEED_SUPER) {
|
|
|
+ u32 burst = dep->endpoint.maxburst - 1;
|
|
|
+
|
|
|
+ params.param0 |= DWC3_DEPCFG_BURST_SIZE(burst);
|
|
|
+ }
|
|
|
|
|
|
if (ignore)
|
|
|
params.param0 |= DWC3_DEPCFG_IGN_SEQ_NUM;
|