diff options
| author | hathach <[email protected]> | 2026-06-20 08:36:25 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2026-06-20 08:36:25 +0700 |
| commit | cca6fe64e95175cbefcdae1d1306ea8765a075d9 (patch) | |
| tree | fe5e4d8bac089823efe1920579b73ee6f44efd35 /examples/host | |
| parent | 6b2845beba3938dd350a889f8d918f7473f8c6ff (diff) | |
dcd/wch: drop toggle-mismatched OUT packets on all USBFS variants
The OUT data-toggle check -- drop a packet whose DATA0/DATA1 doesn't match the
expected toggle (a host retransmit after a lost ACK, or a host that doesn't
alternate the toggle) -- only ran on CH58x. The auto-toggle parts (V103/V20x/V307/
X035) never checked it, so a duplicate/retransmitted OUT was processed twice.
HiFiPhile confirmed it: a host patched to send DATA0-only had CH32V305 accept every
packet. Move the TOG_OK gate out of the CH58x-only block so it runs on every variant;
the manual toggle flip stays CH58x-only. EP0 keeps its own toggle via the SETUP/status
flow and is exempt.
Verified on ci.lan HIL: ch582m_evt (CH58x), ch32v103r_r1_1v0 (V103), nanoch32v203
(V203) all pass.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'examples/host')
0 files changed, 0 insertions, 0 deletions
