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)