summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJerzy Kasenberg <[email protected]>2022-05-01 14:14:42 +0200
committerJerzy Kasenberg <[email protected]>2022-05-01 14:14:42 +0200
commitc145777e0eb6b9add414504dd8cf4ec7da6cc61a (patch)
treedda7ef186585a795a144ba5e0dc3e93bf21a5704 /src
parentd51743a21cb23f7e0c81844f12bba08420a52a29 (diff)
dcd_pic32: Add asserts transfer sanity check
TU_ASSERTS added to detect transfer inconsistency.
Diffstat (limited to 'src')
-rw-r--r--src/portable/microchip/pic32mz/dcd_pic32mz.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/portable/microchip/pic32mz/dcd_pic32mz.c b/src/portable/microchip/pic32mz/dcd_pic32mz.c
index 7d48f755b..1683d95b4 100644
--- a/src/portable/microchip/pic32mz/dcd_pic32mz.c
+++ b/src/portable/microchip/pic32mz/dcd_pic32mz.c
@@ -530,6 +530,7 @@ static void ep0_handle_rx(void)
transferred = rx_fifo_read(0, xfer->buffer + xfer->transferred);
xfer->transferred += transferred;
+ TU_ASSERT(xfer->transferred <= xfer->total_len,);
if (transferred < xfer->max_packet_size || xfer->transferred == xfer->total_len)
{
ep0_set_stage(EP0_STAGE_DATA_OUT_COMPLETE);
@@ -560,6 +561,7 @@ static void epn_handle_rx_int(uint8_t epnum)
transferred = rx_fifo_read(epnum, xfer->buffer + xfer->transferred);
USB_REGS->EPCSR[epnum].RXCSRL_HOSTbits.RXPKTRDY = 0;
xfer->transferred += transferred;
+ TU_ASSERT(xfer->transferred <= xfer->total_len,);
if (transferred < xfer->max_packet_size || xfer->transferred == xfer->total_len)
{
xfer_complete(xfer, XFER_RESULT_SUCCESS, true);
@@ -579,6 +581,7 @@ static void epn_handle_tx_int(uint8_t epnum)
else
{
xfer->transferred += xfer->last_packet_size;
+ TU_ASSERT(xfer->transferred <= xfer->total_len,);
if (xfer->last_packet_size < xfer->max_packet_size || xfer->transferred == xfer->total_len)
{
xfer->last_packet_size = 0;