summaryrefslogtreecommitdiffstats
path: root/drivers/usb/dwc2
diff options
context:
space:
mode:
authorJohn Youn <John.Youn@synopsys.com>2016-02-15 15:30:20 -0800
committerFelipe Balbi <balbi@kernel.org>2016-02-17 10:31:42 +0200
commitbd84f4ae9986ac9acd278566ccb39c60bc961abb (patch)
treec6eebfca1d72e2e311a8b7c06be7606a694d52c6 /drivers/usb/dwc2
parent18558cae0272f8fd9647e69d3fec1565a7949865 (diff)
downloadlinux-bd84f4ae9986ac9acd278566ccb39c60bc961abb.tar.gz
linux-bd84f4ae9986ac9acd278566ccb39c60bc961abb.tar.bz2
linux-bd84f4ae9986ac9acd278566ccb39c60bc961abb.zip
usb: dwc2: Add extra delay when forcing dr_mode
Fixes an issue found on rockchip rk3036 and rk3188 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@gmail.com> Reported-by: Michael Niewoehner <linux@mniewoehner.de> Tested-by: Heiko Stuebner <heiko@sntech.de> Tested-by: Caesar Wang <caesar.upstream@gmail.com> Signed-off-by: John Youn <johnyoun@synopsys.com> Signed-off-by: Felipe Balbi <balbi@kernel.org>
Diffstat (limited to 'drivers/usb/dwc2')
-rw-r--r--drivers/usb/dwc2/core.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/dwc2/core.c b/drivers/usb/dwc2/core.c
index e991d55914db..46c4ba75dc2a 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(50);
}
/*