diff options
author | Gregory Herrero <gregory.herrero@intel.com> | 2015-01-30 09:09:37 +0100 |
---|---|---|
committer | Fei Wang <w.f@huawei.com> | 2015-02-06 12:57:46 +0800 |
commit | 7f3f0ebe5d41c7f7a6afe35213702ddbef7bc0ca (patch) | |
tree | 08b71c2e3038c0d6dd0d8fbaf4fd9ab4bf6edd72 | |
parent | 7a18cb6f4aac72f8b311c2cf074864d9220a8cde (diff) |
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>
-rw-r--r-- | drivers/usb/dwc2/gadget.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c index 9b6c8e4d21e2..364cd9614fe7 100644 --- a/drivers/usb/dwc2/gadget.c +++ b/drivers/usb/dwc2/gadget.c @@ -3158,6 +3158,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); |