Skip to content

Commit a5a1256

Browse files
tmon-nordicgmarull
authored andcommitted
[nrf fromtree] drivers: udc_dwc2: Queue next packet on incomplete iso IN interrupt
When handling incomplete iso IN interrupt mark current transfer as complete and program the endpoint with any subsequently queued packet. Program the endpoint directly in interrupt handler because the data must be programmed before SOF (by the time incomplete iso IN interrupt is raised there is less than 20% * 125 us = 25 us before SOF). Signed-off-by: Tomasz Moń <[email protected]> (cherry picked from commit edbb053)
1 parent d06a411 commit a5a1256

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

drivers/usb/udc/udc_dwc2.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2572,7 +2572,11 @@ static void dwc2_handle_incompisoin(const struct device *dev)
25722572

25732573
buf = udc_buf_get(dev, cfg->addr);
25742574
if (buf) {
2575+
/* Data is no longer relevant */
25752576
udc_submit_ep_event(dev, buf, 0);
2577+
2578+
/* Try to queue next packet before SOF */
2579+
dwc2_handle_xfer_next(dev, cfg);
25762580
}
25772581
}
25782582
}

0 commit comments

Comments
 (0)