From 1a6209a8fe7dbcc6328f471cadf91a702d305651 Mon Sep 17 00:00:00 2001 From: Koen Zandberg Date: Fri, 6 Dec 2019 14:28:32 +0100 Subject: [PATCH] usbus_fmt: Add missing alt iface size increase The configuration length verification was not taking additional alt interface descriptors into account. This breaks situations where an alt interface is used such as is the case with CDC ECM --- sys/usb/usbus/usbus_fmt.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/usb/usbus/usbus_fmt.c b/sys/usb/usbus/usbus_fmt.c index 2e54fdbe41..069c09cc46 100644 --- a/sys/usb/usbus/usbus_fmt.c +++ b/sys/usb/usbus/usbus_fmt.c @@ -199,6 +199,7 @@ static size_t _fmt_descriptors_iface_alts(usbus_t *usbus, alt = alt->next) { usb_descriptor_interface_t usb_iface; _fmt_descriptor_iface(iface, &usb_iface); + len += sizeof(usb_descriptor_interface_t); usb_iface.alternate_setting = alts++; usb_iface.num_endpoints = _num_endpoints_alt(alt); usbus_control_slicer_put_bytes(usbus, (uint8_t *)&usb_iface,