Skip to content

Commit df375fd

Browse files
tmon-nordiccarlescufi
authored andcommitted
[nrf fromtree] drivers: udc_dwc2: Fix memory leak on subsequent bus resets
Do not queue new buffer after bus reset if there is one already queued. This fixes memory leak on each bus reset if there are no SETUP transfers received between resets. Signed-off-by: Tomasz Moń <[email protected]> (cherry picked from commit c180420)
1 parent 85b9aac commit df375fd

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

drivers/usb/udc/udc_dwc2.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,11 @@ static void dwc2_ensure_setup_ready(const struct device *dev)
434434
} else {
435435
struct udc_dwc2_data *const priv = udc_get_private(dev);
436436

437+
if (udc_ep_is_busy(udc_get_ep_cfg(dev, USB_CONTROL_EP_OUT))) {
438+
/* There is already buffer queued */
439+
return;
440+
}
441+
437442
/* Enable EP0 OUT only if there is no pending EP0 IN transfer
438443
* after which the stack has to enable EP0 OUT.
439444
*/

0 commit comments

Comments
 (0)