Use rx_size/tx_size instead of USB_XXX_ENDPOINT_SIZE in USB descriptors;
Use correct sizeof argument in data_eptx_x structs initialization;
The last one didn't cause any issues because sizeof(usb_configuration_descriptor.data_eptx_x) is equal to sizeof(usb_configuration_descriptor.data_eprx_x) by a happy coincidence.
The last one didn't cause any issues because sizeof(usb_configuration_descriptor.data_eptx_x) is equal to sizeof(usb_configuration_descriptor.data_eprx_x) by a happy coincidence.