From 0407cfe16c7b9736da2ff36c69232e7c3f470864 Mon Sep 17 00:00:00 2001 From: hathach Date: Thu, 23 Jul 2020 01:39:15 +0700 Subject: fix samd21 race condition with setup packet reproduced with Adafruit_TinyUSB_ArduinoCore port commit 11d669b4d2a40eb2fc5e51b2a9707a6de9d42363 and SAMD BSP 1.6.1 --- src/portable/microchip/samd/dcd_samd.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/portable/microchip/samd/dcd_samd.c b/src/portable/microchip/samd/dcd_samd.c index 45bff2511..d0cc8560a 100644 --- a/src/portable/microchip/samd/dcd_samd.c +++ b/src/portable/microchip/samd/dcd_samd.c @@ -43,6 +43,8 @@ static inline void prepare_setup(void) { // Only make sure the EP0 OUT buffer is ready sram_registers[0][0].ADDR.reg = (uint32_t) _setup_packet; + sram_registers[0][0].PCKSIZE.bit.MULTI_PACKET_SIZE = sizeof(_setup_packet); + sram_registers[0][0].PCKSIZE.bit.BYTE_COUNT = 0; } // Setup the control endpoint 0. -- cgit v1.3.1