fix: correctly send functional descriptor The functional descriptor was not sent correctly, specifically, it was pointed to its address, instead of the pointer itself. That meant bunch of irrelevant stuff was sent instead.
1 files changed, 1 insertions(+), 1 deletions(-) M src/usb_device_cdc.c
M src/usb_device_cdc.c => src/usb_device_cdc.c +1 -1
@@ 304,7 304,7 @@ task_result_t usb_device_cdc_send_configuration(usb_device_t *device, if (i == 0) { for (uint8_t j = 0; j < dev->functional_descriptors_count; j++) { usb_cdc_functional_descriptor_header_t* descriptor = dev->functional_descriptors[j]; usb_generic_fill_fifo_words(enp0, (uint8_t *)&descriptor, usb_generic_fill_fifo_words(enp0, (uint8_t *)descriptor, get_size(descriptor->bFunctionLength, &size), enp0fifo, &sub_word_data, &sub_word_count); }