Hi,

On Fri, 16 Oct 2026 22:39:27 +0200, Nizat Mikayilli wrote:
> acm_rx_complete() pushes the received data into the RX buffer and
> queues the request again, regardless of its completion status.
> 
> When an endpoint is disabled, the UDC gives back its queued requests
> with an error status such as -ESHUTDOWN.  This happens when the ACM
> function is disabled on a bus reset or disconnect, or when the usbacm
> console is stopped.  Requeueing such a request from its completion
> handler puts it back on the endpoint that is being flushed.  With DWC3,
> dwc3_remove_requests() then gives the same request back again and
> again, usb_ep_disable() never returns, and gadget teardown stalls.
> 
> [...]

Thanks, Applied to https://git.u-boot-project.org/u-boot/custodians/u-boot-dfu 
(u-boot-dfu)

[1/1] usb: gadget: acm: do not requeue failed RX requests
      
https://git.u-boot-project.org/u-boot/custodians/u-boot-dfu/-/commit/6ca402e0034f2a23f10a29ce3e4245f2a4544a4e

--
Mattijs

Reply via email to