|
@@ -2005,7 +2005,8 @@ static void dwc3_gadget_set_speed(struct usb_gadget *g,
|
|
|
* STAR#9000525659: Clock Domain Crossing on DCTL in
|
|
|
* USB 2.0 Mode
|
|
|
*/
|
|
|
- if (dwc->revision < DWC3_REVISION_220A) {
|
|
|
+ if (dwc->revision < DWC3_REVISION_220A &&
|
|
|
+ !dwc->dis_metastability_quirk) {
|
|
|
reg |= DWC3_DCFG_SUPERSPEED;
|
|
|
} else {
|
|
|
switch (speed) {
|
|
@@ -3224,7 +3225,8 @@ int dwc3_gadget_init(struct dwc3 *dwc)
|
|
|
* is less than super speed because we don't have means, yet, to tell
|
|
|
* composite.c that we are USB 2.0 + LPM ECN.
|
|
|
*/
|
|
|
- if (dwc->revision < DWC3_REVISION_220A)
|
|
|
+ if (dwc->revision < DWC3_REVISION_220A &&
|
|
|
+ !dwc->dis_metastability_quirk)
|
|
|
dev_info(dwc->dev, "changing max_speed on rev %08x\n",
|
|
|
dwc->revision);
|
|
|
|