diff options
author | Vijayavardhan Vennapusa <vvreddy@codeaurora.org> | 2016-11-25 11:25:35 +0530 |
---|---|---|
committer | Vijayavardhan Vennapusa <vvreddy@codeaurora.org> | 2016-11-25 11:25:35 +0530 |
commit | e0a3a8b537e7b48860b63288c761fa764184850a (patch) | |
tree | ad33ed1aaf893730cbd8c394acf600acb25193f3 /drivers/usb/dwc3/dwc3-msm.c | |
parent | bee274711e8d2ddb97fb1e80a18f295e9f97fa87 (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/dwc3/dwc3-msm.c')
-rw-r--r-- | drivers/usb/dwc3/dwc3-msm.c | 5 |
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); |