summaryrefslogtreecommitdiff
path: root/components/drivers/serial/dev_serial.c
AgeCommit message (Collapse)Author
2026-06-09chore: polish serial ioctl buffer namingcopilot/bug-security-related-issuecopilot-swe-agent[bot]
2026-06-09fix: harden serial ioctl user-pointer handlingcopilot-swe-agent[bot]
2025-12-13[dm][pinctrl] Set pinctrl default auto in platform bus. (#11052)GUI
Signed-off-by: GuEe-GUI <[email protected]>
2025-09-01fix(ioctl): _IOR() overflows in switch (int) #10650Tang Haojin
2025-08-10[driver][serial] V1]: fix correct data loss logic when RX ring buffer is fullwdfk-prog
In the serial ISR (`rt_hw_serial_isr`), the previous logic for handling a full RX FIFO was flawed. When the buffer was filled, it would increment `get_index` (`get_index += 1`). This had two negative consequences: 1. It effectively discarded the oldest byte of data prematurely. 2. It reduced the usable capacity of a buffer of size N to N-1. For example, a 64-byte buffer could only ever hold 63 readable bytes after becoming full. This patch corrects the behavior by implementing a standard overwriting ring buffer strategy. When the buffer is full, the logic is changed to `get_index = put_index`. This ensures that: - When new data arrives, it correctly overwrites the oldest data. - The `get_index` is advanced along with the `put_index`, correctly marking the new start of the buffer. - The full N-byte capacity of the buffer is utilized, always storing the N most recent bytes. This change resolves the unexpected data loss and makes the buffer behavior correct and predictable.
2024-12-17[serial] add bypass testcase in utestzhujiale
2024-12-17[serial] add bypass hook to direct processing char when uart irq comingzhujiale
2024-09-13[drivers] Specifies the name of the drivers driver fileCXSforHPU
https://github.com/RT-Thread/rt-thread/pull/9420