summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorVijayavardhan Vennapusa <vvreddy@codeaurora.org>2016-11-25 11:25:35 +0530
committerVijayavardhan Vennapusa <vvreddy@codeaurora.org>2016-11-25 11:25:35 +0530
commite0a3a8b537e7b48860b63288c761fa764184850a (patch)
treead33ed1aaf893730cbd8c394acf600acb25193f3 /drivers/usb
parentbee274711e8d2ddb97fb1e80a18f295e9f97fa87 (diff)
USB: dwc3-msm: clear in_restart flag always in restart work
Currenlty driver is clearing mdwc->inrestart flag only if vbus_active is high only after making sure USB entered low power mode. There is a chance cable is disconnected during execution of restart work and endup not clearing mdwc->in_restart flag if disconnect happens. Hence fix this by clearing mdwc->in_restart flag always irrespective of vbus_active set or cleared. Change-Id: I15fa1893c798946c7514bf8cb23773b5784e671e Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/dwc3/dwc3-msm.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/usb/dwc3/dwc3-msm.c b/drivers/usb/dwc3/dwc3-msm.c
index add035269ae7..5b8bf13863da 100644
--- a/drivers/usb/dwc3/dwc3-msm.c
+++ b/drivers/usb/dwc3/dwc3-msm.c
@@ -1465,11 +1465,10 @@ static void dwc3_restart_usb_work(struct work_struct *w)
pm_runtime_suspend(mdwc->dev);
}
+ mdwc->in_restart = false;
/* Force reconnect only if cable is still connected */
- if (mdwc->vbus_active) {
- mdwc->in_restart = false;
+ if (mdwc->vbus_active)
dwc3_resume_work(&mdwc->resume_work);
- }
dwc->err_evt_seen = false;
flush_delayed_work(&mdwc->sm_work);