summaryrefslogtreecommitdiff
path: root/src/portable/raspberrypi
diff options
context:
space:
mode:
authorhathach <[email protected]>2025-08-05 22:05:56 +0700
committerhathach <[email protected]>2025-08-05 22:05:56 +0700
commit4bfba6b09a90d5321b3dbd2d986760438417c430 (patch)
tree90675ef1d6c44c1a2984e43768fb8374a3a9c474 /src/portable/raspberrypi
parent51533129cf7c8635b08bec590625ffd8e76bce1d (diff)
fix rp2 iso transfer: reset state before notify stack. since new audio driver can execute xfer_is()
Diffstat (limited to 'src/portable/raspberrypi')
-rw-r--r--src/portable/raspberrypi/rp2040/dcd_rp2040.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/portable/raspberrypi/rp2040/dcd_rp2040.c b/src/portable/raspberrypi/rp2040/dcd_rp2040.c
index 358ce84bc..a89c2f42b 100644
--- a/src/portable/raspberrypi/rp2040/dcd_rp2040.c
+++ b/src/portable/raspberrypi/rp2040/dcd_rp2040.c
@@ -190,8 +190,9 @@ static void __tusb_irq_path_func(hw_handle_buff_status)(void) {
bool done = hw_endpoint_xfer_continue(ep);
if (done) {
// Notify
- dcd_event_xfer_complete(0, ep->ep_addr, ep->xferred_len, XFER_RESULT_SUCCESS, true);
+ const uint16_t xferred_len = ep->xferred_len;
hw_endpoint_reset_transfer(ep);
+ dcd_event_xfer_complete(0, ep->ep_addr, xferred_len, XFER_RESULT_SUCCESS, true);
}
remaining_buffers &= ~bit;
}