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
