}
call_gadget(hsotg, disconnect);
+ hsotg->lx_state = DWC2_L3;
}
/**
mdelay(3);
hsotg->last_rst = jiffies;
+ hsotg->lx_state = DWC2_L0;
}
static void dwc2_hsotg_core_disconnect(struct dwc2_hsotg *hsotg)
kill_all_requests(hsotg, hsotg->eps_out[0],
-ECONNRESET);
- hsotg->lx_state = DWC2_L0;
dwc2_hsotg_core_init_disconnected(hsotg, true);
}
}
* If controller is hibernated, it must exit from hibernation
* before being initialized
*/
- if (hsotg->lx_state == DWC2_L2) {
+ if (hsotg->lx_state == DWC2_L2)
dwc2_exit_hibernation(hsotg, false);
- hsotg->lx_state = DWC2_L0;
- }
+
/* Kill any ep0 requests as controller will be reinitialized */
kill_all_requests(hsotg, hsotg->eps_out[0], -ECONNRESET);
dwc2_hsotg_core_init_disconnected(hsotg, false);