usb: dwc2: make hcd into L3 power off state when suspend

The controller will reset and run into error state if turn
off power when suspend in host mode. This patch stop hcd to
make the controller into L3 state to make sure that the
controller and driver state will reset when resume.

Change-Id: If66bc1a249e919f440ecde0c66f18dabde0b2e62
Signed-off-by: Meng Dongyang <daniel.meng@rock-chips.com>
This commit is contained in:
Meng Dongyang 2018-03-08 19:00:02 +08:00 committed by Tao Huang
commit 079b3c7cdb

View file

@ -699,6 +699,12 @@ static int __maybe_unused dwc2_resume(struct device *dev)
return ret;
}
/* Stop hcd if dr_mode is host and PD is power off when suspend */
if (dwc2->op_state == OTG_STATE_A_HOST && dwc2_is_device_mode(dwc2)) {
dwc2_hcd_disconnect(dwc2, true);
dwc2->lx_state = DWC2_L3;
}
if (dwc2_is_device_mode(dwc2))
ret = dwc2_hsotg_resume(dwc2);