mirror of
https://github.com/hathach/tinyusb.git
synced 2025-02-11 00:39:57 +00:00
Merge pull request #1451 from kasjer/kasjer/pic32-sanity-fixes
pic32 sanity fixes
This commit is contained in:
commit
0a4a28a90c
@ -90,6 +90,9 @@
|
|||||||
#elif defined(__riscv)
|
#elif defined(__riscv)
|
||||||
#define TU_BREAKPOINT() do { __asm("ebreak\n"); } while(0)
|
#define TU_BREAKPOINT() do { __asm("ebreak\n"); } while(0)
|
||||||
|
|
||||||
|
#elif defined(_mips)
|
||||||
|
#define TU_BREAKPOINT() do { __asm("sdbbp 0"); } while (0)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define TU_BREAKPOINT() do {} while (0)
|
#define TU_BREAKPOINT() do {} while (0)
|
||||||
#endif
|
#endif
|
||||||
|
@ -530,6 +530,7 @@ static void ep0_handle_rx(void)
|
|||||||
|
|
||||||
transferred = rx_fifo_read(0, xfer->buffer + xfer->transferred);
|
transferred = rx_fifo_read(0, xfer->buffer + xfer->transferred);
|
||||||
xfer->transferred += transferred;
|
xfer->transferred += transferred;
|
||||||
|
TU_ASSERT(xfer->transferred <= xfer->total_len,);
|
||||||
if (transferred < xfer->max_packet_size || xfer->transferred == xfer->total_len)
|
if (transferred < xfer->max_packet_size || xfer->transferred == xfer->total_len)
|
||||||
{
|
{
|
||||||
ep0_set_stage(EP0_STAGE_DATA_OUT_COMPLETE);
|
ep0_set_stage(EP0_STAGE_DATA_OUT_COMPLETE);
|
||||||
@ -560,8 +561,10 @@ static void epn_handle_rx_int(uint8_t epnum)
|
|||||||
transferred = rx_fifo_read(epnum, xfer->buffer + xfer->transferred);
|
transferred = rx_fifo_read(epnum, xfer->buffer + xfer->transferred);
|
||||||
USB_REGS->EPCSR[epnum].RXCSRL_HOSTbits.RXPKTRDY = 0;
|
USB_REGS->EPCSR[epnum].RXCSRL_HOSTbits.RXPKTRDY = 0;
|
||||||
xfer->transferred += transferred;
|
xfer->transferred += transferred;
|
||||||
|
TU_ASSERT(xfer->transferred <= xfer->total_len,);
|
||||||
if (transferred < xfer->max_packet_size || xfer->transferred == xfer->total_len)
|
if (transferred < xfer->max_packet_size || xfer->transferred == xfer->total_len)
|
||||||
{
|
{
|
||||||
|
USB_REGS->INTRRXEbits.w &= ~(1u << epnum);
|
||||||
xfer_complete(xfer, XFER_RESULT_SUCCESS, true);
|
xfer_complete(xfer, XFER_RESULT_SUCCESS, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -579,6 +582,7 @@ static void epn_handle_tx_int(uint8_t epnum)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
xfer->transferred += xfer->last_packet_size;
|
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)
|
if (xfer->last_packet_size < xfer->max_packet_size || xfer->transferred == xfer->total_len)
|
||||||
{
|
{
|
||||||
xfer->last_packet_size = 0;
|
xfer->last_packet_size = 0;
|
||||||
@ -689,7 +693,7 @@ void dcd_int_handler(uint8_t rhport)
|
|||||||
int i;
|
int i;
|
||||||
uint8_t mask;
|
uint8_t mask;
|
||||||
__USBCSR2bits_t csr2_bits;
|
__USBCSR2bits_t csr2_bits;
|
||||||
uint16_t rxints = USB_REGS->INTRRX;
|
uint16_t rxints = USB_REGS->INTRRX & USB_REGS->INTRRXEbits.w;
|
||||||
uint16_t txints = USB_REGS->INTRTX;
|
uint16_t txints = USB_REGS->INTRTX;
|
||||||
csr2_bits = USBCSR2bits;
|
csr2_bits = USBCSR2bits;
|
||||||
(void) rhport;
|
(void) rhport;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user