summaryrefslogtreecommitdiff
path: root/examples/device/hid_multiple_interface
diff options
context:
space:
mode:
authorhathach <[email protected]>2026-06-19 22:54:50 +0700
committerhathach <[email protected]>2026-06-19 22:54:50 +0700
commit0c4c0be4589b2807abde5ef9ab156b6aaaad6616 (patch)
tree7f313ea1aa2e06893f976c3099413858733dd78f /examples/device/hid_multiple_interface
parentdcb060c894713d60ce0ab009733e5d59a32d0d23 (diff)
dcd/ch58x: keep IRQ masked across the EP-arming RMW in dcd_edpt_xfer
dcd_edpt_xfer() re-enabled the USB interrupt before update_in() / ep_rx_set_response(), which read-modify-write the (combined) EP control register. On CH58x the ISR RMWs that same register to flip the manual data toggle, so a transfer interrupt landing mid-RMW could drop the toggle flip and desync the endpoint. Move dcd_int_enable() to after the arming so the whole sequence is atomic w.r.t. the ISR (matching the CH32X035 port #3703). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'examples/device/hid_multiple_interface')
0 files changed, 0 insertions, 0 deletions