summaryrefslogtreecommitdiff
path: root/lib/rt-thread
diff options
context:
space:
mode:
authorhathach <[email protected]>2026-08-12 23:05:59 +0700
committerhathach <[email protected]>2026-08-13 11:45:36 +0700
commit91fbbd192ca9539221d3dc096f00ce77836a5d3d (patch)
tree801ad543cc2608eb5804c3d3d0fd547246d08d83 /lib/rt-thread
parenta52562b2be7ea728a176ae94d8a18d9ae0a4423a (diff)
usbd: clear endpoint busy/claimed when a completion event is dropped
An XFER_COMPLETE dropped by a full event queue leaves its endpoint's BUSY|CLAIMED state set forever - the consumer that normally clears it never sees the event, so usbd_edpt_claim()/usbd_edpt_xfer() fail from then on and the class never re-arms the endpoint. Clear both flags when the enqueue fails: the completion is lost either way, but the endpoint stays usable. Unit test: arm a bulk endpoint, drop its completion against a full queue, verify the endpoint can be claimed and re-armed.
Diffstat (limited to 'lib/rt-thread')
0 files changed, 0 insertions, 0 deletions