diff options
| author | hathach <[email protected]> | 2026-07-10 00:17:52 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2026-07-17 17:26:03 +0700 |
| commit | 439a60a87f4039beba5a1d202b7ff6f9d93745dc (patch) | |
| tree | f77496ad9618c7ca043b646c702532390c9f967c /lib/FreeRTOS | |
| parent | fa1fee0a5f82b5a78ace26ee1722c1d636c5b32a (diff) | |
dcd_ci_fs: disarm sibling BDT on short-packet OUT completion
A multi-packet OUT transfer speculatively arms both even/odd BDTs to avoid
NAK. When the host ends the transfer early with a short packet, the sibling
BDT was left armed (own=1), desyncing the even/odd ping-pong so the next OUT
packet landed at buffer+max_packet_size instead of buffer and the stack read
stale data. Disarm the sibling on completion.
Fixes device/mtp on Kinetis (GetDeviceInfo command was received into the wrong
buffer half -> hang). Pre-existing (MSC only arms single-packet command
receives so it never hit the double-buffer path). HIL: frdm_kl25z & frdm_k64f
device 13/13.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01ExGPLP5eU43LR7o6yYLpNi
Diffstat (limited to 'lib/FreeRTOS')
0 files changed, 0 insertions, 0 deletions
