diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c
index 60f9272ae6d29a356f4e49a031f5631905734038..d0ee7847b98dbb98dd2e220e741009a3a107ba5b 100644
--- a/drivers/usb/gadget/composite.c
+++ b/drivers/usb/gadget/composite.c
@@ -1077,6 +1077,8 @@ static struct usb_gadget_driver composite_driver = {
  */
 int usb_composite_register(struct usb_composite_driver *driver)
 {
+	int res;
+
 	if (!driver || !driver->dev || !driver->bind || composite)
 		return -EINVAL;
 
@@ -1084,7 +1086,11 @@ int usb_composite_register(struct usb_composite_driver *driver)
 		driver->name = "composite";
 	composite = driver;
 
-	return usb_gadget_register_driver(&composite_driver);
+	res = usb_gadget_register_driver(&composite_driver);
+	if (res != 0)
+		composite = NULL;
+
+	return res;
 }
 
 /**
diff --git a/drivers/usb/host/dwc2.c b/drivers/usb/host/dwc2.c
index c6727c381cbc4798632c75c13cf650e621b53f4d..b2f4bc685af165c535eb0ecc2e73f583a333a862 100644
--- a/drivers/usb/host/dwc2.c
+++ b/drivers/usb/host/dwc2.c
@@ -263,7 +263,9 @@ static void dwc_otg_core_init(struct dwc2_core_regs *regs)
 
 	/* Program the ULPI External VBUS bit if needed */
 #ifdef CONFIG_DWC2_PHY_ULPI_EXT_VBUS
-	usbcfg |= DWC2_GUSBCFG_ULPI_EXT_VBUS_DRV;
+	usbcfg |= (DWC2_GUSBCFG_ULPI_EXT_VBUS_DRV |
+		   DWC2_GUSBCFG_ULPI_INT_VBUS_INDICATOR |
+		   DWC2_GUSBCFG_INDICATOR_PASSTHROUGH);
 #else
 	usbcfg &= ~DWC2_GUSBCFG_ULPI_EXT_VBUS_DRV;
 #endif
diff --git a/drivers/usb/host/dwc2.h b/drivers/usb/host/dwc2.h
index 594757b609a9e2138c70646cfffb9e52ba85c97a..4482dc621d692f30445f28d56ff793ecbd844767 100644
--- a/drivers/usb/host/dwc2.h
+++ b/drivers/usb/host/dwc2.h
@@ -152,6 +152,8 @@ struct dwc2_core_regs {
 #define DWC2_GUSBCFG_ULPI_INT_VBUS_INDICATOR_OFFSET	21
 #define DWC2_GUSBCFG_TERM_SEL_DL_PULSE			(1 << 22)
 #define DWC2_GUSBCFG_TERM_SEL_DL_PULSE_OFFSET		22
+#define DWC2_GUSBCFG_INDICATOR_PASSTHROUGH		(1 << 24)
+#define DWC2_GUSBCFG_INDICATOR_PASSTHROUGH_OFFSET	24
 #define DWC2_GUSBCFG_IC_USB_CAP				(1 << 26)
 #define DWC2_GUSBCFG_IC_USB_CAP_OFFSET			26
 #define DWC2_GUSBCFG_IC_TRAFFIC_PULL_REMOVE		(1 << 27)