On Sat, 26 Sep 2026 14:11:37 +0000, Johannes Schneider wrote:
> The controller sets DSTS.DEVCTRLHLT only once every event in the event
> buffer has been acknowledged. Linux relies on its interrupt handler
> doing that while dwc3_gadget_run_stop() polls; barebox has no
> interrupts, and gadget_unbind_driver() unregisters the UDC poller
> before it disconnects. Any event left pending at that point keeps the
> controller running, and the poll ends in its 2 s timeout with
> -ETIMEDOUT.
>
> [...]
Applied, thanks!
[1/1] usb: dwc3: gadget: ack pending events while waiting for the halt
https://git.pengutronix.de/cgit/barebox/commit/?id=9efea34d34b4 (link may
not be stable)
Best regards,
--
Sascha Hauer <[email protected]>