diff options
| author | Ha Thach <[email protected]> | 2025-04-21 18:31:43 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-04-21 18:31:43 +0700 |
| commit | 56ed51c8fb99d571ad3a203ef1e5160a4881e88c (patch) | |
| tree | 41453798ef456f08841dd6d8113859e3a8614664 /src | |
| parent | 5572168994a29266df6cbf12b46919498d3ece66 (diff) | |
| parent | b3a9b6e37ffb21dba2f6da5fdd4ac5cd90c94442 (diff) | |
Merge pull request #3088 from HiFiPhile/intv
Fix 1st nak retry one frame shorter.
Diffstat (limited to 'src')
| -rw-r--r-- | src/portable/synopsys/dwc2/hcd_dwc2.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/portable/synopsys/dwc2/hcd_dwc2.c b/src/portable/synopsys/dwc2/hcd_dwc2.c index 1845c5e19..53349f7f9 100644 --- a/src/portable/synopsys/dwc2/hcd_dwc2.c +++ b/src/portable/synopsys/dwc2/hcd_dwc2.c @@ -748,7 +748,11 @@ static void channel_xfer_in_retry(dwc2_regs_t* dwc2, uint8_t ch_id, uint32_t hci const dwc2_channel_tsize_t hctsiz = {.value = channel->hctsiz}; edpt->next_pid = hctsiz.pid; // save PID edpt->uframe_countdown = edpt->uframe_interval - ucount; - dwc2->gintmsk |= GINTSTS_SOF; + // enable SOF interrupt if not already enabled + if (!(dwc2->gintmsk & GINTMSK_SOFM)) { + dwc2->gintsts = GINTSTS_SOF; + dwc2->gintmsk |= GINTMSK_SOFM; + } // already halted, de-allocate channel (called from DMA isr) channel_dealloc(dwc2, ch_id); } |
