]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
fixes for 4.4
authorSasha Levin <sashal@kernel.org>
Mon, 3 Feb 2020 13:42:05 +0000 (08:42 -0500)
committerSasha Levin <sashal@kernel.org>
Mon, 3 Feb 2020 13:42:28 +0000 (08:42 -0500)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.4/series
queue-4.4/usb-dwc3-turn-off-vbus-when-leaving-host-mode.patch [new file with mode: 0644]

index 6c580db01f20a5b5d741fcec451c1b997d39af31..206778221583dd8e1f62a89b094174ea82a0fe68 100644 (file)
@@ -29,3 +29,4 @@ media-digitv-don-t-continue-if-remote-control-state-can-t-be-read.patch
 media-gspca-zero-usb_buf.patch
 media-dvb-usb-dvb-usb-urb.c-initialize-actlen-to-0.patch
 ttyprintk-fix-a-potential-deadlock-in-interrupt-context-issue.patch
+usb-dwc3-turn-off-vbus-when-leaving-host-mode.patch
diff --git a/queue-4.4/usb-dwc3-turn-off-vbus-when-leaving-host-mode.patch b/queue-4.4/usb-dwc3-turn-off-vbus-when-leaving-host-mode.patch
new file mode 100644 (file)
index 0000000..c1c57c0
--- /dev/null
@@ -0,0 +1,40 @@
+From 2f31406f76c2f6f5c15ed3c982b18d6fbd45dba3 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 11 Dec 2019 10:10:03 -0600
+Subject: usb: dwc3: turn off VBUS when leaving host mode
+
+From: Bin Liu <b-liu@ti.com>
+
+[ Upstream commit 09ed259fac621634d51cd986aa8d65f035662658 ]
+
+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: Sasha Levin <sashal@kernel.org>
+---
+ drivers/usb/dwc3/core.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
+index 4378e758baef9..591bc3f7be763 100644
+--- a/drivers/usb/dwc3/core.c
++++ b/drivers/usb/dwc3/core.c
+@@ -801,6 +801,9 @@ static void dwc3_core_exit_mode(struct dwc3 *dwc)
+               /* do nothing */
+               break;
+       }
++
++      /* de-assert DRVVBUS for HOST and OTG mode */
++      dwc3_set_mode(dwc, DWC3_GCTL_PRTCAP_DEVICE);
+ }
+ #define DWC3_ALIGN_MASK               (16 - 1)
+-- 
+2.20.1
+