mirror of
https://github.com/hathach/tinyusb.git
synced 2025-01-31 05:52:55 +08:00
Make sure OUT endpoint 0 on the SAMDs always has a valid buffer to store
a SETUP token into.
This commit is contained in:
parent
246c28db1a
commit
bf8c4612dc
@ -164,6 +164,12 @@ bool dcd_edpt_xfer (uint8_t rhport, uint8_t ep_addr, uint8_t * buffer, uint16_t
|
||||
UsbDeviceDescBank* bank = &sram_registers[epnum][dir];
|
||||
UsbDeviceEndpoint* ep = &USB->DEVICE.DeviceEndpoint[epnum];
|
||||
|
||||
// A setup token can occur immediately after an OUT STATUS packet so make sure we have a valid
|
||||
// buffer for the control endpoint.
|
||||
if (epnum == 0 && dir == 0 && buffer == NULL) {
|
||||
buffer = _setup_packet;
|
||||
}
|
||||
|
||||
bank->ADDR.reg = (uint32_t) buffer;
|
||||
if ( dir == TUSB_DIR_OUT )
|
||||
{
|
||||
|
@ -163,6 +163,12 @@ bool dcd_edpt_xfer (uint8_t rhport, uint8_t ep_addr, uint8_t * buffer, uint16_t
|
||||
UsbDeviceDescBank* bank = &sram_registers[epnum][dir];
|
||||
UsbDeviceEndpoint* ep = &USB->DEVICE.DeviceEndpoint[epnum];
|
||||
|
||||
// A setup token can occur immediately after an OUT STATUS packet so make sure we have a valid
|
||||
// buffer for the control endpoint.
|
||||
if (epnum == 0 && dir == 0 && buffer == NULL) {
|
||||
buffer = _setup_packet;
|
||||
}
|
||||
|
||||
bank->ADDR.reg = (uint32_t) buffer;
|
||||
if ( dir == TUSB_DIR_OUT )
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user