diff options
| author | Zixun LI <[email protected]> | 2026-05-13 15:27:47 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-05-13 15:27:47 +0200 |
| commit | e1cb1b5b6fa183a1473f05b8d1ce4ab93a373ef4 (patch) | |
| tree | cb16fa186aa927f4da6d6008f98674b582b6b0b8 /src | |
| parent | 08f9855e3dc51291a8c30e2eeccab31f8f07d0a9 (diff) | |
| parent | 460ce56f40d962ebf8a2d7be9f436a9756efb9fe (diff) | |
Merge pull request #3640 from hathach/dwc2_iso_in
dcd/dwc2: fix ISO IN endpoint become disabled after incomplete transfer
Diffstat (limited to 'src')
| -rw-r--r-- | src/portable/synopsys/dwc2/dcd_dwc2.c | 3 |
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 30e24a9ad..1d0ef45d2 100644 --- a/src/portable/synopsys/dwc2/dcd_dwc2.c +++ b/src/portable/synopsys/dwc2/dcd_dwc2.c @@ -1136,8 +1136,9 @@ static void handle_incomplete_iso_in(uint8_t rhport) { } epin->diepctl = depctl.value; } else { - // too many retries, give up + // too many retries, give up, but keep endpoint activated edpt_disable(rhport, epnum | TUSB_DIR_IN_MASK, false); + epin->diepctl |= DIEPCTL_USBAEP; dcd_event_xfer_complete(rhport, epnum | TUSB_DIR_IN_MASK, 0, XFER_RESULT_FAILED, true); } } |
