mirror of
https://github.com/hathach/tinyusb.git
synced 2025-02-21 21:41:09 +00:00
fixed EP0 control handling
This commit is contained in:
parent
998090d1a7
commit
818c64efec
@ -828,6 +828,10 @@ static void handle_xfer_done(uint8_t rhport, bool in_isr) {
|
||||
// putchar('0' + ep->ep_num);
|
||||
// putchar('0' + ep->xfer_attemp);
|
||||
#endif
|
||||
if (ep_num == 0) {
|
||||
// NAK on control, retry immediately
|
||||
hxfr_write(rhport, _hcd_data.hxfr, in_isr);
|
||||
} else {
|
||||
#if NAK_RETRY_HANDLING
|
||||
ep->retry_pending = 1;
|
||||
ep->xfer_pending = 0;
|
||||
@ -840,10 +844,6 @@ static void handle_xfer_done(uint8_t rhport, bool in_isr) {
|
||||
atomic_flag_clear(&_hcd_data.busy);
|
||||
}
|
||||
#else
|
||||
if (ep_num == 0) {
|
||||
// NAK on control, retry immediately
|
||||
hxfr_write(rhport, _hcd_data.hxfr, in_isr);
|
||||
}else {
|
||||
// NAK on non-control, find next pending to switch
|
||||
max3421_ep_t *next_ep = find_next_pending_ep(ep);
|
||||
|
||||
@ -856,8 +856,8 @@ static void handle_xfer_done(uint8_t rhport, bool in_isr) {
|
||||
} else {
|
||||
TU_ASSERT(false,);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
return;
|
||||
|
||||
case HRSL_BAD_REQ:
|
||||
|
Loading…
x
Reference in New Issue
Block a user