diff options
| author | Ha Thach <[email protected]> | 2021-01-08 23:09:18 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-01-08 23:09:18 +0700 |
| commit | cfcffe94ce62f5ef1fb5aef4641924d64dc4b1c0 (patch) | |
| tree | b360223bbbe1e29fa0c3459ff4a48a496ba134f0 /src/device/usbd.c | |
| parent | fb896be201602ce38105a934d3a59886b46d1268 (diff) | |
| parent | d33b22d1275683cd352f3d8b729e20e6836c1ea4 (diff) | |
Merge pull request #588 from hathach/use-dcd_event_bus_reset
use dcd_event_bus_reset() with speed to replace bus_signal
Diffstat (limited to 'src/device/usbd.c')
| -rw-r--r-- | src/device/usbd.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/device/usbd.c b/src/device/usbd.c index 791d533ae..f6b00563d 100644 --- a/src/device/usbd.c +++ b/src/device/usbd.c @@ -1103,6 +1103,24 @@ bool usbd_edpt_open(uint8_t rhport, tusb_desc_endpoint_t const * desc_ep) { TU_LOG2(" Open EP %02X with Size = %u\r\n", desc_ep->bEndpointAddress, desc_ep->wMaxPacketSize.size); + if (TUSB_XFER_ISOCHRONOUS == desc_ep->bmAttributes.xfer) + { + TU_ASSERT(desc_ep->wMaxPacketSize.size <= (_usbd_dev.speed == TUSB_SPEED_HIGH ? 1024 : 1023)); + } + else + { + uint16_t const max_epsize = (_usbd_dev.speed == TUSB_SPEED_HIGH ? 512 : 64); + + if (TUSB_XFER_BULK == desc_ep->bmAttributes.xfer) + { + // Bulk must be EXACTLY 512/64 bytes + TU_ASSERT(desc_ep->wMaxPacketSize.size == max_epsize); + }else + { + TU_ASSERT(desc_ep->wMaxPacketSize.size <= max_epsize); + } + } + return dcd_edpt_open(rhport, desc_ep); } |
