diff options
| author | hathach <[email protected]> | 2019-11-28 13:48:55 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2019-11-28 13:48:55 +0700 |
| commit | e9725dcdbe8dcb56f7eeedd5671bf0f4c3fe72a2 (patch) | |
| tree | 9c6c2d860f395027cb07d16a07052d172aa06ae6 /src/portable/microchip/samd51 | |
| parent | d7558e8a0f12c685f2690c985e5f75df0777065b (diff) | |
use dcd_edpt0_status_complete() to prepare for setup packet for samd21/samd51
Diffstat (limited to 'src/portable/microchip/samd51')
| -rw-r--r-- | src/portable/microchip/samd51/dcd_samd51.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/portable/microchip/samd51/dcd_samd51.c b/src/portable/microchip/samd51/dcd_samd51.c index 1af247702..abf89c32e 100644 --- a/src/portable/microchip/samd51/dcd_samd51.c +++ b/src/portable/microchip/samd51/dcd_samd51.c @@ -146,6 +146,9 @@ void dcd_edpt0_status_complete(uint8_t rhport, tusb_control_request_t const * re uint8_t const dev_addr = (uint8_t) request->wValue; USB->DEVICE.DADD.reg = USB_DEVICE_DADD_DADD(dev_addr) | USB_DEVICE_DADD_ADDEN; } + + // Just finished status stage, prepare for next setup packet + dcd_edpt_xfer(rhport, 0x00, _setup_packet, sizeof(_setup_packet)); } bool dcd_edpt_open (uint8_t rhport, tusb_desc_endpoint_t const * desc_edpt) @@ -347,11 +350,6 @@ void transfer_complete(uint8_t direction) { } dcd_event_xfer_complete(0, ep_addr, total_transfer_size, XFER_RESULT_SUCCESS, true); - // just finished status stage (total size = 0), prepare for next setup packet - if (epnum == 0 && total_transfer_size == 0) { - dcd_edpt_xfer(0, 0, _setup_packet, sizeof(_setup_packet)); - } - if (direction == TUSB_DIR_IN) { ep->EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT1; } else { |
