summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiFiPhile <[email protected]>2025-10-31 10:25:43 +0100
committerHiFiPhile <[email protected]>2025-10-31 10:56:48 +0100
commitbe4b38c54dc4e23af322ae04eda1f30e5ced0289 (patch)
treebc2e16f2cfa799076d94e33b66c1f6224d3ef6a8
parentcee793796ca6feb2164201c6915592a04bf496d2 (diff)
Skip TXFE for EP0
Signed-off-by: HiFiPhile <[email protected]>
-rw-r--r--src/portable/synopsys/dwc2/dcd_dwc2.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/portable/synopsys/dwc2/dcd_dwc2.c b/src/portable/synopsys/dwc2/dcd_dwc2.c
index 13431ee1d..cb4768a5e 100644
--- a/src/portable/synopsys/dwc2/dcd_dwc2.c
+++ b/src/portable/synopsys/dwc2/dcd_dwc2.c
@@ -419,7 +419,8 @@ static void edpt_schedule_packets(uint8_t rhport, const uint8_t epnum, const uin
const uint16_t xferred_bytes = epin_write_tx_fifo(rhport, epnum);
// Enable TXFE interrupt if there are still data to be sent
- if (xfer->total_len - xferred_bytes > 0) {
+ // EP0 only sends one packet at a time, so no need to check for EP0
+ if ((epnum != 0) && (xfer->total_len - xferred_bytes > 0)) {
dwc2->diepempmsk |= (1u << epnum);
}
}