summaryrefslogtreecommitdiff
path: root/firmware/usbstack/usb_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/usbstack/usb_core.c')
-rw-r--r--firmware/usbstack/usb_core.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/firmware/usbstack/usb_core.c b/firmware/usbstack/usb_core.c
index 65bf7293c8..50d93f7561 100644
--- a/firmware/usbstack/usb_core.c
+++ b/firmware/usbstack/usb_core.c
@@ -90,9 +90,9 @@ static struct usb_device_descriptor __attribute__((aligned(2)))
90 .idVendor = USB_VENDOR_ID, 90 .idVendor = USB_VENDOR_ID,
91 .idProduct = USB_PRODUCT_ID, 91 .idProduct = USB_PRODUCT_ID,
92 .bcdDevice = 0x0100, 92 .bcdDevice = 0x0100,
93 .iManufacturer = 1, 93 .iManufacturer = USB_STRING_INDEX_MANUFACTURER,
94 .iProduct = 2, 94 .iProduct = USB_STRING_INDEX_PRODUCT,
95 .iSerialNumber = 3, 95 .iSerialNumber = USB_STRING_INDEX_SERIAL,
96 .bNumConfigurations = 1 96 .bNumConfigurations = 1
97} ; 97} ;
98 98
@@ -141,12 +141,12 @@ static const struct usb_string_descriptor __attribute__((aligned(2)))
141 lang_descriptor = 141 lang_descriptor =
142USB_STRING_INITIALIZER(u"\x0409"); /* LANGID US English */ 142USB_STRING_INITIALIZER(u"\x0409"); /* LANGID US English */
143 143
144static const struct usb_string_descriptor* const usb_strings[] = 144static const struct usb_string_descriptor* const usb_strings[USB_STRING_INDEX_MAX] =
145{ 145{
146 &lang_descriptor, 146 [USB_STRING_INDEX_LANGUAGE] = &lang_descriptor,
147 &usb_string_iManufacturer, 147 [USB_STRING_INDEX_MANUFACTURER] = &usb_string_iManufacturer,
148 &usb_string_iProduct, 148 [USB_STRING_INDEX_PRODUCT] = &usb_string_iProduct,
149 &usb_string_iSerial 149 [USB_STRING_INDEX_SERIAL] = &usb_string_iSerial,
150}; 150};
151 151
152static int usb_address = 0; 152static int usb_address = 0;
@@ -637,8 +637,7 @@ static void request_handler_device_get_descriptor(struct usb_ctrlrequest* req)
637 637
638 case USB_DT_STRING: 638 case USB_DT_STRING:
639 logf("STRING %d", index); 639 logf("STRING %d", index);
640 if((unsigned)index < (sizeof(usb_strings) / 640 if((unsigned)index < USB_STRING_INDEX_MAX) {
641 sizeof(struct usb_string_descriptor*))) {
642 size = usb_strings[index]->bLength; 641 size = usb_strings[index]->bLength;
643 ptr = usb_strings[index]; 642 ptr = usb_strings[index];
644 } 643 }