[PATCH] usb: dwc2: Add extra delay when forcing dr_mode

John Youn John.Youn at synopsys.com
Thu Feb 4 17:50:34 PST 2016


Fixes an issue found on rockchip rk3036-based SOC platforms. For some
reason, the existing msleep(25) is not enough after the force mode. The
following patch was reported to fix the issue.

This does increase the probe delay again slightly, but not up to the
level it was before the original series of patches that this fixes. It
does not cause any other issues when tested on Synopsys HAPS and Altera
socfpga platforms.

Need to revisit this series next release to see if we can address these
issues without having an unconditional delay.

Fixes: 09c96980dc72 ("usb: dwc2: Add functions to set and clear force mode")
Reported-by: Caesar Wang <caesar.upstream at gmail.com>
Tested-by: Caesar Wang <caesar.upstream at gmail.com>
Signed-off-by: John Youn <johnyoun at synopsys.com>
---

Hi Felipe,

This is another one for 4.5-rc.

Thanks,
John


 drivers/usb/dwc2/core.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/usb/dwc2/core.c b/drivers/usb/dwc2/core.c
index e991d55..627f1d2 100644
--- a/drivers/usb/dwc2/core.c
+++ b/drivers/usb/dwc2/core.c
@@ -619,6 +619,12 @@ void dwc2_force_dr_mode(struct dwc2_hsotg *hsotg)
 			 __func__, hsotg->dr_mode);
 		break;
 	}
+
+	/*
+	 * NOTE: This is required for some rockchip soc based
+	 * platforms.
+	 */
+	msleep(25);
 }
 
 /*
-- 
2.6.3




More information about the Linux-rockchip mailing list