On 18/11/2019 09:07, Felipe Balbi wrote:
Hi,
Bin Liu <b-liu@xxxxxx> writes:
VBUS should be turned off when leaving the host mode.
Set GCTL_PRTCAP to device mode in teardown to de-assert DRVVBUS pin to
turn off VBUS power.
Fixes: 5f94adfeed97 ("usb: dwc3: core: refactor mode initialization to its own function")
Signed-off-by: Bin Liu <b-liu@xxxxxx>
---
drivers/usb/dwc3/core.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 97d6ae3c4df2..76ac9cd54e64 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -1201,6 +1201,7 @@ static void dwc3_core_exit_mode(struct dwc3 *dwc)
break;
case USB_DR_MODE_HOST:
dwc3_host_exit(dwc);
+ dwc3_set_prtcap(dwc, DWC3_GCTL_PRTCAP_DEVICE);
seems like this should be done as part of dwc3_host_exit()
That wouldn't work well with OTG case as dwc3_host_exit(dwc) is
called when switching roles and we don't want PRTCAP
to change from DWC3_GCTL_PRTCAP_OTG.
cheers,
-roger
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki