The USB device subsystem driver's set_interface() function calls usb_dc_ep_configure() followed by usb_dc_ep_enable(). When switching between alternate settings of a configuration's interface, set_endpoint() can be followed by reset_endpoint() on an endpoint. Some time later, set_endpoint() can be called again on the same endpoint. This results in the HAL's kUSB_DeviceControlEndpointInit function being called twice in a row, which causes a memory allocation error. A simple solution is to call the HAL's kUSB_DeviceControlEndpointDeinit function before calling kUSB_DeviceControlEndpointInit. This overcomes the memory allocation error. Signed-off-by: Milind Paranjpe <mparanjpe@yahoo.com> |
||
|---|---|---|
| .. | ||
| device | ||
| CMakeLists.txt | ||
| Kconfig | ||