summaryrefslogtreecommitdiff
path: root/src/device
diff options
context:
space:
mode:
authorHiFiPHile <[email protected]>2026-09-01 17:24:13 +0200
committerHiFiPHile <[email protected]>2026-09-02 15:21:41 +0200
commita52b5a0c25d2cfea286d67eb3d9d8891a9b69e8f (patch)
tree8f206b25338f81fb8f0ac5d6a40fdb685fe7d51d /src/device
parent3a1dc0dc1f57d45ed75aa9e176425901270e982e (diff)
USBH: fail enumeration cleanly after disconnect
A disconnect can close endpoint zero after an enumeration control stage completes but before USBH submits the next stage or request. HCD submission then legitimately returns false; treating that result as an invariant violation asserts during rapid replug and can leave enumeration unfinished. Complete an in-progress control request as failed when its DATA or status stage cannot be submitted. Propagate submission failures from every asynchronous enumeration continuation and finish enumeration through the normal failure cleanup path. This keeps controller teardown races out of assertions without fabricating a successful transfer. Validated by interrupting enumeration during rapid STM32U5A5 replug tests with DWC2 DMA and slave modes.
Diffstat (limited to 'src/device')
0 files changed, 0 insertions, 0 deletions