diff options
| author | hathach <[email protected]> | 2026-07-18 00:18:27 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2026-07-18 00:18:27 +0700 |
| commit | 4782770e7f5f4a726f9739d940c110196807f15c (patch) | |
| tree | b7c3a206f2c92318b69e442e4e45b330531cb518 /lib/FreeRTOS/Source/include | |
| parent | 7d7444bd8924fce9e60364893265bd2451e115e7 (diff) | |
fix(ci_fs): address code-review findings in host/device drivers
Host (hcd_ci_fs.c):
- Release the speculatively-armed sibling BDT on the NAK path (IN only) as
well as on completion, so a NAKed multi-packet IN no longer leaks a BDT
that stays own=1 and blocks every same-direction pipe. Both paths now go
through a single release_sibling_bd() helper (was a copy-pasted disarm).
- Clear the ENTIRE shared BDT (both directions) on bus reset; clearing only
the IN half left a stale OUT/SETUP descriptor after a disconnect mid-OUT,
blocking the first control transfer on re-enumeration.
- Size bda[] to span the whole BDT (2*2*4) so STAT-indexed access is within
the declared array bounds (was out-of-declared-bounds, benign via union).
Shared (ci_fs_type.h):
- Hoist buffer_descriptor_t and the TOK_PID enum out of the device and host
drivers into the shared header so the identical definitions cannot drift.
Board (kinetis_k):
- Drop a redundant local in board_get_unique_id.
Build-verified: host + kinetis k/kl/k32l + MCX. HIL: frdm_k64f host 2/2
(cdc_msc_hid + device_info); frdm_kl25z device core suite green with the
relocated definitions.
Diffstat (limited to 'lib/FreeRTOS/Source/include')
0 files changed, 0 insertions, 0 deletions
