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
This commit is contained in:
parent
2b934dea5f
commit
1a6209a8fe
@ -199,6 +199,7 @@ static size_t _fmt_descriptors_iface_alts(usbus_t *usbus,
|
|||||||
alt = alt->next) {
|
alt = alt->next) {
|
||||||
usb_descriptor_interface_t usb_iface;
|
usb_descriptor_interface_t usb_iface;
|
||||||
_fmt_descriptor_iface(iface, &usb_iface);
|
_fmt_descriptor_iface(iface, &usb_iface);
|
||||||
|
len += sizeof(usb_descriptor_interface_t);
|
||||||
usb_iface.alternate_setting = alts++;
|
usb_iface.alternate_setting = alts++;
|
||||||
usb_iface.num_endpoints = _num_endpoints_alt(alt);
|
usb_iface.num_endpoints = _num_endpoints_alt(alt);
|
||||||
usbus_control_slicer_put_bytes(usbus, (uint8_t *)&usb_iface,
|
usbus_control_slicer_put_bytes(usbus, (uint8_t *)&usb_iface,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user