|
@@ -1004,6 +1004,17 @@ static void dwc3_check_params(struct dwc3 *dwc)
|
|
|
dwc->imod_interval = 0;
|
|
|
}
|
|
|
|
|
|
+ /*
|
|
|
+ * Workaround for STAR 9000961433 which affects only version
|
|
|
+ * 3.00a of the DWC_usb3 core. This prevents the controller
|
|
|
+ * interrupt from being masked while handling events. IMOD
|
|
|
+ * allows us to work around this issue. Enable it for the
|
|
|
+ * affected version.
|
|
|
+ */
|
|
|
+ if (!dwc->imod_interval &&
|
|
|
+ (dwc->revision == DWC3_REVISION_300A))
|
|
|
+ dwc->imod_interval = 1;
|
|
|
+
|
|
|
/* Check the maximum_speed parameter */
|
|
|
switch (dwc->maximum_speed) {
|
|
|
case USB_SPEED_LOW:
|