| From ab62c7a6c53b66bb325d64985b712aae0f0e7a6f Mon Sep 17 00:00:00 2001 |
| From: Bin Liu <b-liu@ti.com> |
| Date: Wed, 11 Dec 2019 10:10:03 -0600 |
| Subject: [PATCH] usb: dwc3: turn off VBUS when leaving host mode |
| |
| commit 09ed259fac621634d51cd986aa8d65f035662658 upstream. |
| |
| 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") |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Bin Liu <b-liu@ti.com> |
| Signed-off-by: Felipe Balbi <balbi@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c |
| index 2e763fd618b3..c745eb1f3a6e 100644 |
| --- a/drivers/usb/dwc3/core.c |
| +++ b/drivers/usb/dwc3/core.c |
| @@ -1200,6 +1200,9 @@ static void dwc3_core_exit_mode(struct dwc3 *dwc) |
| /* do nothing */ |
| break; |
| } |
| + |
| + /* de-assert DRVVBUS for HOST and OTG mode */ |
| + dwc3_set_prtcap(dwc, DWC3_GCTL_PRTCAP_DEVICE); |
| } |
| |
| static void dwc3_get_properties(struct dwc3 *dwc) |
| -- |
| 2.7.4 |
| |