diff options
author | Hemant Kumar <hemantk@codeaurora.org> | 2016-08-25 16:17:48 -0700 |
---|---|---|
committer | Hemant Kumar <hemantk@codeaurora.org> | 2016-08-26 18:44:04 -0700 |
commit | a1efcad026c693225305e7bf778f6bfb458c119c (patch) | |
tree | e0f10a3d4e5574f31974c2f9f41261483c139853 /drivers/usb/dwc3/dwc3-msm.c | |
parent | e97b6a0e0217f7c072fdad6c50673cd7a64348e1 (diff) |
usb: dwc3: restart usb upon endpoint cmd timeout
Sometime endpoint command timeout happening after
usb device enumeration. Controller stops responding to
any endpoint commands afterwards. To recover from this
condition restart usb by simulating vbus off and on
except for end transfer command. Also increase the
command timeout from 1500us to 3000us.
Change-Id: I7c1833d844fd432b33158686361e24e66a2fd92c
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Diffstat (limited to 'drivers/usb/dwc3/dwc3-msm.c')
-rw-r--r-- | drivers/usb/dwc3/dwc3-msm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/dwc3/dwc3-msm.c b/drivers/usb/dwc3/dwc3-msm.c index 37a3c954a1dd..8189096f95c2 100644 --- a/drivers/usb/dwc3/dwc3-msm.c +++ b/drivers/usb/dwc3/dwc3-msm.c @@ -1694,7 +1694,7 @@ static void dwc3_msm_notify_event(struct dwc3 *dwc, unsigned event) break; case DWC3_CONTROLLER_RESTART_USB_SESSION: dev_dbg(mdwc->dev, "DWC3_CONTROLLER_RESTART_USB_SESSION received\n"); - dwc3_restart_usb_work(&mdwc->restart_usb_work); + schedule_work(&mdwc->restart_usb_work); break; default: dev_dbg(mdwc->dev, "unknown dwc3 event\n"); |