OSDN Git Service

usb: dwc3-msm: Fix restart usb work functionality
authorAzhar Shaikh <azhars@codeaurora.org>
Thu, 11 Feb 2016 19:00:58 +0000 (11:00 -0800)
committerGerrit - the friendly Code Review server <code-review@localhost>
Fri, 25 Nov 2016 06:04:48 +0000 (22:04 -0800)
Commit 18cd808986ba101d ("usb: dwc3-msm: Make power collapse
and power-on-reset mandatory") removed the device tree properties
for power-collapse due to which the dwc3_restart_usb_work() which
was supposed to do a full POR sequence by simulating a cable
disconnection-reconnection sequence now only does a dbm reset.
Fix this, so that dwc3_restart_usb_work(), does a full POR.

CRs-Fixed: 975249
Change-Id: Iaabe9283ec80954a2e504a55f2b4cdf93ca8ae46
Signed-off-by: Azhar Shaikh <azhars@codeaurora.org>
drivers/usb/dwc3/dwc3-msm.c

index add0352..de6cb6c 100644 (file)
@@ -1967,7 +1967,7 @@ static int dwc3_msm_suspend(struct dwc3_msm *mdwc)
        clk_disable_unprepare(mdwc->xo_clk);
 
        /* Perform controller power collapse */
-       if (!mdwc->in_host_mode && !mdwc->vbus_active) {
+       if (!mdwc->in_host_mode && (!mdwc->vbus_active || mdwc->in_restart)) {
                mdwc->lpm_flags |= MDWC3_POWER_COLLAPSE;
                dev_dbg(mdwc->dev, "%s: power collapse\n", __func__);
                dwc3_msm_config_gdsc(mdwc, 0);