mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-23 21:55:57 +00:00
Nordic USB driver shim uses nrfx_usbd driver from nrfx package. The driver was protected by a semaphore during every transfer to prevent access from multiple threads at the same time. This leads to the problem when a class schedules transfer on one endpoint before host asks for the data (to be sent later) - driver is locked and other endpoints (including control EP) are blocked. Currently, only driver calls are wrapped with semaphore without waiting for the transfer to complete, allowing scheduling transfers on different endpoints. This is allowed bu nrfx_usbd, however shim prevents user from scheduling multiple transfers on one EP (required by nrfx_usbd). Signed-off-by: Paweł Zadrożniak <pawel.zadrozniak@nordicsemi.no> |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
Kconfig | ||
usb_dc_dw.c | ||
usb_dc_kinetis.c | ||
usb_dc_nrfx.c | ||
usb_dc_sam.c | ||
usb_dc_sam0.c | ||
usb_dc_stm32.c | ||
usb_dw_registers.h |