diff options
Diffstat (limited to 'tinyusb')
| -rw-r--r-- | tinyusb/host/usbh.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tinyusb/host/usbh.c b/tinyusb/host/usbh.c index 3cc198788..929c87b0e 100644 --- a/tinyusb/host/usbh.c +++ b/tinyusb/host/usbh.c @@ -523,8 +523,9 @@ tusb_error_t enumeration_body_subtask(void) class_index = std_class_code_to_index( ((tusb_descriptor_interface_t*) p_desc)->bInterfaceClass ); SUBTASK_ASSERT( class_index != 0 ); // class_index == 0 means corrupted data, abort enumeration - if (usbh_class_drivers[class_index].open_subtask) // supported class - { + if (usbh_class_drivers[class_index].open_subtask && + !(class_index == TUSB_CLASS_HUB && usbh_devices[new_addr].hub_addr != 0)) + { // supported class, TODO Hub disable multiple level static uint16_t length; length = 0; |
