mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-10-10 08:03:04 -04:00
A host can replace an unfinished control transfer with a new SETUP. ARC and DesignWare flush EP0 without reporting completion callbacks, leaving the core waiting for a data/status packet that will never arrive. Explicitly notify the core after both directions and stale completion bits have been cancelled. Return an abandoned data/status stage to READY. If a queued or running handler still owns the request and data buffer, keep that ownership and suppress its response; dispatch only the latest replacement when it returns. A driver-owned SET_ADDRESS can also cancel a deferred request without passing its SETUP to the core. Do not overwrite an arbitrary busy state in usb_core_setup_received(). ARC cancellation is a prerequisite in the preceding patch; DesignWare cancels both EP0 directions before notifying and rearming reception. Change-Id: Ia8e0a68fe47ccab952168da24a2f76e311ca2b15 |
||
|---|---|---|
| .. | ||
| arm | ||
| coldfire | ||
| hosted | ||
| mips | ||