usb: device_next: update IAD during CDC ACM initialization

Set bFirstInterface of IAD and update CDC Union descriptor
during class initialization.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
This commit is contained in:
Johann Fischer 2023-01-25 00:09:47 +01:00 committed by Marti Bolivar
parent bf384bf41a
commit a06d9769ce

View File

@ -393,6 +393,12 @@ static int usbd_cdc_acm_ctd(struct usbd_class_node *const c_nd,
static int usbd_cdc_acm_init(struct usbd_class_node *const c_nd)
{
struct usbd_cdc_acm_desc *desc = c_nd->data->desc;
desc->iad_cdc.bFirstInterface = desc->if0.bInterfaceNumber;
desc->if0_union.bControlInterface = desc->if0.bInterfaceNumber;
desc->if0_union.bSubordinateInterface0 = desc->if1.bInterfaceNumber;
return 0;
}