- uint8_t* ConfigDescriptorData;\r
- uint16_t ConfigDescriptorSize;\r
- \r
- /* Get Configuration Descriptor size from the device */\r
- if (USB_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, NULL) != HOST_SENDCONTROL_Successful)\r
- return ControlError;\r
- \r
- /* Ensure that the Configuration Descriptor isn't too large */\r
- if (ConfigDescriptorSize > MAX_CONFIG_DESCRIPTOR_SIZE)\r
- return DescriptorTooLarge;\r
- \r
- /* Allocate enough memory for the entire config descriptor */\r
- ConfigDescriptorData = alloca(ConfigDescriptorSize);\r
+ uint8_t ConfigDescriptorData[512];\r
+ void* CurrConfigLocation = ConfigDescriptorData;\r
+ uint16_t CurrConfigBytesRem;\r