summaryrefslogtreecommitdiff
path: root/components/legacy/usb/usbdevice/class
AgeCommit message (Collapse)Author
13 daysfix[usb]: support VCOM polling receive with Serial V2Jaeyeong Lee
Signed-off-by: Jaeyeong Lee <[email protected]>
13 daysfix[usb]: stop aliasing rt_ringbuffer as rt_serial_rx_fifo in VCOMJaeyeong Lee
With RT_USB_DEVICE_CDC and RT_USING_SERIAL_V2 both enabled, _function_enable assigned the embedded rx_ringbuffer to serial.serial_rx. Serial V2 reads that pointer as a struct rt_serial_rx_fifo, whose first member is a rt_ringbuffer, so ring-buffer access happened to work while rx_cpt, rx_cpt_index and rx_timeout landed on the following members of struct vcom, corrupting tx_rbp. The layout shifts again with RT_SERIAL_USING_DMA, which inserts dma_ping_rb ahead of those fields. Serial V2 already owns the receive FIFO: dev_serial_v2.c allocates it with rt_malloc on open and releases it with rt_free on close, so the assignment also made rt_free run on memory inside struct vcom. Drop the assignment and read the FIFO Serial V2 owns. rt_hw_serial_isr reports RX_IND from serial_rx->rb, so the endpoint handler now fills that ring buffer and _vcom_getc drains it. The Serial V1 path is unchanged. Fixes #11739 Signed-off-by: Jaeyeong Lee <[email protected]>
2026-07-06components/usb: configure CDC VCOM stringsOld-Ding
2024-06-02refactor(drivers/usb):replace rtt usb stack with cherryusb (#8799)sakumisu