From 89d71e0ed0d2c3678ad07d06d08f27d089d71e2a Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 22 Nov 2024 11:50:53 +0100 Subject: [PATCH] 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. --- src/usb_device_cdc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/usb_device_cdc.c b/src/usb_device_cdc.c index 2e8b798..05d076e 100644 --- a/src/usb_device_cdc.c +++ b/src/usb_device_cdc.c @@ -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); } -- 2.48.1