summaryrefslogtreecommitdiffstats
path: root/drivers/usb/dwc2
diff options
context:
space:
mode:
authorGregory Herrero <gregory.herrero@intel.com>2015-01-30 09:09:37 +0100
committerFelipe Balbi <balbi@ti.com>2015-01-30 10:34:19 -0600
commitb4c2378df6419b81eefcb9cd56726321c29a70ca (patch)
tree9398de330f62f33a6f1ca7a162e62e4d7e3b12a6 /drivers/usb/dwc2
parentf889f23d1c15fa73edaecc2cbce35a441eb52581 (diff)
downloadop-kernel-dev-b4c2378df6419b81eefcb9cd56726321c29a70ca.zip
op-kernel-dev-b4c2378df6419b81eefcb9cd56726321c29a70ca.tar.gz
usb: dwc2: gadget: initialize controller in pullup callback
USB reset interrupt is no more used to reset the controller. Thus, reset the controller in pullup callback as described by Synopsys programming guide. Otherwise enumeration sometimes fails when usb configuration is switched without physical disconnection. Tested-by: Robert Baldyga <r.baldyga@samsung.com> Acked-by: John Youn <johnyoun@synopsys.com> Signed-off-by: Gregory Herrero <gregory.herrero@intel.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc2')
-rw-r--r--drivers/usb/dwc2/gadget.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c
index f201f6d..15aa578 100644
--- a/drivers/usb/dwc2/gadget.c
+++ b/drivers/usb/dwc2/gadget.c
@@ -3162,6 +3162,7 @@ static int s3c_hsotg_pullup(struct usb_gadget *gadget, int is_on)
if (is_on) {
clk_enable(hsotg->clk);
hsotg->enabled = 1;
+ s3c_hsotg_core_init_disconnected(hsotg, false);
s3c_hsotg_core_connect(hsotg);
} else {
s3c_hsotg_core_disconnect(hsotg);
OpenPOWER on IntegriCloud