mirror of
https://github.com/apache/nuttx.git
synced 2026-08-22 14:08:30 +00:00
The correct transfer loop in stm32_usb_interrupt() dispatched every completion to stm32_epdone(), including those for endpoint 0. stm32_epdone() implements the generic bulk/interrupt endpoint completion path. It does not decode the SETUP stage, does not maintain the EP0 state machine, and does not apply the EP0 specific RX/TX status rules. Control transfers therefore never completed correctly and the device could not be enumerated. Dispatch endpoint 0 to stm32_ep0done(), which is the control endpoint handler and is already used for the same purpose by the low priority transfer path in stm32_lptransfer(). Assisted-by: GitHub Copilot:claude-opus-5 Signed-off-by: jsanchez-2g <jsanchez@2g-eng.com> |
||
|---|---|---|
| .. | ||
| arm | ||
| arm64 | ||
| avr | ||
| ceva | ||
| dummy | ||
| hc | ||
| mips | ||
| misoc | ||
| or1k | ||
| renesas | ||
| risc-v | ||
| sim | ||
| sparc | ||
| tricore | ||
| x86 | ||
| x86_64 | ||
| xtensa | ||
| z16 | ||
| z80 | ||
| CMakeLists.txt | ||
| Kconfig | ||