summaryrefslogtreecommitdiff
path: root/tinyusb
diff options
context:
space:
mode:
Diffstat (limited to 'tinyusb')
-rw-r--r--tinyusb/host/usbh.c5
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;