summaryrefslogtreecommitdiff
path: root/src/portable
diff options
context:
space:
mode:
authorHiFiPHile <[email protected]>2026-09-01 17:44:58 +0200
committerHiFiPHile <[email protected]>2026-09-02 15:21:41 +0200
commit51761d2dfdf2036395b0b6ada6fdde213f97416f (patch)
tree562a79f2c1c8aa2c90851129500706ccfc4c7c51 /src/portable
parenta52b5a0c25d2cfea286d67eb3d9d8891a9b69e8f (diff)
parent762517e6c41bedba73df04bc3c2181d7e5fe1d5e (diff)
Merge remote-tracking branch 'origin/master' into agent/fix-dwc2-host-fifo-allocation
Diffstat (limited to 'src/portable')
-rw-r--r--src/portable/synopsys/dwc2/hcd_dwc2.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/portable/synopsys/dwc2/hcd_dwc2.c b/src/portable/synopsys/dwc2/hcd_dwc2.c
index b6e8ecb03..67fdd0270 100644
--- a/src/portable/synopsys/dwc2/hcd_dwc2.c
+++ b/src/portable/synopsys/dwc2/hcd_dwc2.c
@@ -1354,6 +1354,10 @@ static bool handle_channel_in_dma(dwc2_regs_t* dwc2, uint8_t ch_id, uint32_t hci
channel_send_in_token(dwc2, channel, false);
}
} else if (hcint & (HCINT_XFER_COMPLETE | HCINT_STALL | HCINT_BABBLE_ERR)) {
+ if (edpt->hcchar_bm.ep_num != 0 && (hcint & HCINT_XFER_COMPLETE)) {
+ edpt->next_pid = hctsiz.pid; // save pid (already toggled)
+ }
+
const uint16_t remain_bytes = (uint16_t) hctsiz.xfer_size;
const uint16_t remain_packets = hctsiz.packet_count;
const uint16_t actual_len = edpt->buflen - remain_bytes;