diff --git a/class/hub/usbh_hub.c b/class/hub/usbh_hub.c index 1a100d7c..2f40da10 100644 --- a/class/hub/usbh_hub.c +++ b/class/hub/usbh_hub.c @@ -449,7 +449,7 @@ static void usbh_hubport_enumerate_thread(void *argument) usbh_hubport_release(child); USB_LOG_ERR("Port %u enumerate fail\r\n", child->port); } - usb_osal_thread_delete(child->thread); + usb_osal_thread_delete(NULL); } static void usbh_hub_events(struct usbh_hub *hub) diff --git a/osal/usb_osal_rtthread.c b/osal/usb_osal_rtthread.c index 1882830d..a0f7563c 100644 --- a/osal/usb_osal_rtthread.c +++ b/osal/usb_osal_rtthread.c @@ -18,6 +18,10 @@ usb_osal_thread_t usb_osal_thread_create(const char *name, uint32_t stack_size, void usb_osal_thread_delete(usb_osal_thread_t thread) { + if (thread == NULL) { + return; + } + rt_thread_delete(thread); }