From 66eae476778ca77187026ce2d01565ec01bc3ae3 Mon Sep 17 00:00:00 2001 From: Jack Pham Date: Mon, 4 Nov 2019 14:51:03 -0800 Subject: [PATCH] usb: dwc3: Set vbus_active in peripheral-only mode The recent change in commit 904ab34b5407 ("usb: dwc3: ep0: Fail enqueue() when racing with vbus_sess disconnect") added a check to prevent queuing on ep0 if vbus_active is unset. However on some configurations if dwc3 is configured as peripheral-only, this flag is not set. In those cases, simply set vbus_active to true. Change-Id: Iaf8612b924ead1484dc585377e7eb0a46cc89a16 Fixes: 904ab34b5407 ("usb: dwc3: ep0: Fail enqueue() when racing with vbus_sess disconnect") Signed-off-by: Jack Pham --- drivers/usb/dwc3/core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index 80d97c71e5c2..1abce68348e4 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -1209,6 +1209,8 @@ static int __maybe_unused dwc3_core_init_mode(struct dwc3 *dwc) dev_err(dev, "failed to initialize gadget\n"); return ret; } + + dwc->vbus_active = true; break; case USB_DR_MODE_HOST: dwc3_set_prtcap(dwc, DWC3_GCTL_PRTCAP_HOST);