summaryrefslogtreecommitdiff
path: root/src/portable
diff options
context:
space:
mode:
authorScott Shawcroft <[email protected]>2018-11-07 23:04:34 -0800
committerScott Shawcroft <[email protected]>2018-11-07 23:04:34 -0800
commit7a40ec2647f06c37c6b8f0b8af2c17ba747f0aeb (patch)
tree0224c95aa13c6203e690c9cb936b544785b97ac6 /src/portable
parentc582c0fda972eb90d5d617436e75182ea0235542 (diff)
Split out the control endpoint logic
Diffstat (limited to 'src/portable')
-rw-r--r--src/portable/nordic/nrf5x/dcd_nrf5x.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/portable/nordic/nrf5x/dcd_nrf5x.c b/src/portable/nordic/nrf5x/dcd_nrf5x.c
index 7eeab1306..1e3dc4cba 100644
--- a/src/portable/nordic/nrf5x/dcd_nrf5x.c
+++ b/src/portable/nordic/nrf5x/dcd_nrf5x.c
@@ -203,9 +203,7 @@ static void xact_control_start(void)
bool dcd_control_xfer (uint8_t rhport, uint8_t dir, uint8_t * buffer, uint16_t length)
{
-
(void) rhport;
- osal_semaphore_wait( _usbd_ctrl_sem, OSAL_TIMEOUT_CONTROL_XFER);
if ( length )
{
@@ -222,7 +220,9 @@ bool dcd_control_xfer (uint8_t rhport, uint8_t dir, uint8_t * buffer, uint16_t l
NRF_USBD->EPIN[0].MAXCNT = 0;
// Status Phase also require Easy DMA has to be free as well !!!!
NRF_USBD->TASKS_EP0STATUS = 1;
- osal_semaphore_post(_usbd_ctrl_sem, false);
+
+ // The nRF doesn't interrupt on status transmit so we queue up a success response.
+ dcd_event_xfer_complete(0, 0, 0, DCD_XFER_SUCCESS, false);
}
return true;