fix zlp for nrf52840

This commit is contained in:
hathach
2020-03-08 14:20:28 +07:00
parent 7aa5a53652
commit c8247f0907
2 changed files with 8 additions and 4 deletions

View File

@@ -276,8 +276,10 @@ bool dcd_edpt_xfer (uint8_t rhport, uint8_t ep_addr, uint8_t * buffer, uint16_t
xfer->total_len = total_bytes;
xfer->actual_len = 0;
// Control endpoint with zero-length packet --> status stage
if ( epnum == 0 && total_bytes == 0 )
// Control endpoint with zero-length packet and opposite direction to 1st request byte --> status stage
bool const control_status = (epnum == 0 && total_bytes == 0 && dir != tu_edpt_dir(NRF_USBD->BMREQUESTTYPE));
if ( control_status )
{
// Status Phase also require Easy DMA has to be free as well !!!!
edpt_dma_start(&NRF_USBD->TASKS_EP0STATUS);