zephyr/drivers/usb/device
Paweł Zadrożniak 55674d8e17 drivers: usb: nordic: change USBD driver locking scheme
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>
2018-11-22 13:13:16 -05:00
..
CMakeLists.txt
Kconfig
usb_dc_dw.c
usb_dc_kinetis.c
usb_dc_nrfx.c drivers: usb: nordic: change USBD driver locking scheme 2018-11-22 13:13:16 -05:00
usb_dc_sam.c
usb_dc_sam0.c
usb_dc_stm32.c drivers: usb_dc_stm32: Use DT to check if USBPHYC exists 2018-11-15 07:27:23 -06:00
usb_dw_registers.h