revert edpt busy/claim status if xfer_isr() defer to xfer_cb()

This commit is contained in:
hathach
2025-07-08 12:13:22 +07:00
parent 2908995c4c
commit 961ea73e55

View File

@@ -1275,6 +1275,12 @@ TU_ATTR_FAST_FUNC void dcd_event_handler(dcd_event_t const* event, bool in_isr)
_usbd_dev.ep_status[epnum][ep_dir].claimed = 0;
send = !driver->xfer_isr(event->rhport, ep_addr, (xfer_result_t) event->xfer_complete.result, event->xfer_complete.len);
// xfer_isr() is deferred to xfer_cb(), revert busy/claimed status
if (send) {
_usbd_dev.ep_status[epnum][ep_dir].busy = 1;
_usbd_dev.ep_status[epnum][ep_dir].claimed = 1;
}
}
}
break;