diff --git a/port/dwc2/usb_hc_dwc2.c b/port/dwc2/usb_hc_dwc2.c index abb246a9..f051a0e8 100644 --- a/port/dwc2/usb_hc_dwc2.c +++ b/port/dwc2/usb_hc_dwc2.c @@ -410,6 +410,10 @@ __WEAK void usb_hc_low_level_init(struct usbh_bus *bus) { } +__WEAK void usb_hc_low_level_deinit(struct usbh_bus *bus) +{ +} + int usb_hc_init(struct usbh_bus *bus) { int ret; @@ -538,6 +542,7 @@ int usb_hc_deinit(struct usbh_bus *bus) usb_osal_sem_delete(g_dwc2_hcd[bus->hcd.hcd_id].chan_pool[chidx].waitsem); } + usb_hc_low_level_deinit(bus); return 0; } diff --git a/port/ehci/usb_hc_ehci.c b/port/ehci/usb_hc_ehci.c index 72e788a4..e6f28ecc 100644 --- a/port/ehci/usb_hc_ehci.c +++ b/port/ehci/usb_hc_ehci.c @@ -775,6 +775,10 @@ __WEAK void usb_hc_low_level2_init(struct usbh_bus *bus) { } +__WEAK void usb_hc_low_level_deinit(struct usbh_bus *bus) +{ +} + int usb_hc_init(struct usbh_bus *bus) { uint32_t interval; @@ -948,6 +952,7 @@ int usb_hc_deinit(struct usbh_bus *bus) usb_osal_sem_delete(qh->waitsem); } + usb_hc_low_level_deinit(bus); return 0; } diff --git a/port/musb/usb_hc_musb.c b/port/musb/usb_hc_musb.c index cf13e931..907ce048 100644 --- a/port/musb/usb_hc_musb.c +++ b/port/musb/usb_hc_musb.c @@ -415,6 +415,10 @@ __WEAK void usb_hc_low_level_init(struct usbh_bus *bus) { } +__WEAK void usb_hc_low_level_deinit(struct usbh_bus *bus) +{ +} + int usb_hc_init(struct usbh_bus *bus) { uint8_t regval; @@ -478,6 +482,7 @@ int usb_hc_deinit(struct usbh_bus *bus) usb_osal_sem_delete(g_musb_hcd[bus->hcd.hcd_id].pipe_pool[i].waitsem); } + usb_hc_low_level_deinit(bus); return 0; }