diff options
| author | hathach <[email protected]> | 2025-08-05 22:05:56 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2025-08-05 22:05:56 +0700 |
| commit | 4bfba6b09a90d5321b3dbd2d986760438417c430 (patch) | |
| tree | 90675ef1d6c44c1a2984e43768fb8374a3a9c474 /src/portable/raspberrypi | |
| parent | 51533129cf7c8635b08bec590625ffd8e76bce1d (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.c | 3 |
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; } |
