summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/usbh_core.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/core/usbh_core.c b/core/usbh_core.c
index 444eaa7e..cb36f97e 100644
--- a/core/usbh_core.c
+++ b/core/usbh_core.c
@@ -105,7 +105,10 @@ static const struct usbh_class_driver *usbh_find_class_driver(uint8_t class, uin
if (index->match_flags & USB_CLASS_MATCH_VID_PID && index->id_table) {
/* scan id table */
uint32_t i;
- for (i = 0; index->id_table[i][0] && index->id_table[i][0] != vid && index->id_table[i][1] != pid; i++) {
+ for (i = 0; index->id_table[i][0]; i++) {
+ if (index->id_table[i][0] == vid && index->id_table[i][1] == pid) {
+ break;
+ }
}
/* do not match, continue next */
if (!index->id_table[i][0]) {