summaryrefslogtreecommitdiff
path: root/drivers/usb/dwc3/dwc3-msm.c
diff options
context:
space:
mode:
authorHemant Kumar <hemantk@codeaurora.org>2016-08-25 16:17:48 -0700
committerHemant Kumar <hemantk@codeaurora.org>2016-08-26 18:44:04 -0700
commita1efcad026c693225305e7bf778f6bfb458c119c (patch)
treee0f10a3d4e5574f31974c2f9f41261483c139853 /drivers/usb/dwc3/dwc3-msm.c
parente97b6a0e0217f7c072fdad6c50673cd7a64348e1 (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.c2
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");