From 0b08dc7724a67f09be16fad3d6702ce0d7566f03 Mon Sep 17 00:00:00 2001 From: hathach Date: Tue, 26 Mar 2013 14:18:14 +0700 Subject: [PATCH] fix bug with enum task skipping decriptor --- tinyusb/host/usbh.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tinyusb/host/usbh.c b/tinyusb/host/usbh.c index 67ad72ac0..7deb68bb3 100644 --- a/tinyusb/host/usbh.c +++ b/tinyusb/host/usbh.c @@ -408,7 +408,7 @@ OSAL_TASK_DECLARE(usbh_enumeration_task) // TODO check class_open_subtask status if (length == 0) // Interface open failed, for example a subclass is not supported { - p_desc += p_desc[DESCRIPTOR_OFFSET_TYPE]; // skip this interface, the rest will be skipped by the above loop + p_desc += p_desc[DESCRIPTOR_OFFSET_LENGTH]; // skip this interface, the rest will be skipped by the above loop // TODO can optimize the length --> open_subtask return a OPEN FAILED status }else { @@ -417,7 +417,7 @@ OSAL_TASK_DECLARE(usbh_enumeration_task) } } else // unsupported class (not enable or yet implemented) { - p_desc += p_desc[DESCRIPTOR_OFFSET_TYPE]; // skip this interface, the rest will be skipped by the above loop + p_desc += p_desc[DESCRIPTOR_OFFSET_LENGTH]; // skip this interface, the rest will be skipped by the above loop } } }