summaryrefslogtreecommitdiff
path: root/components/drivers/ipc/dataqueue.c
AgeCommit message (Collapse)Author
2026-08-03ipc: fix recursive data queue locking on SMPGuEe-GUI
rt_data_queue_pop() holds the data queue spinlock while updating the ring state, then calls rt_data_queue_len(). The length function tries to acquire the same non-recursive spinlock again, causing an SMP deadlock when a pop leaves the queue non-empty. Add a private _data_queue_len_nolock() helper for callers which already hold the queue lock. Keep the public rt_data_queue_len() protected by one spinlock acquisition. This does not change the public API, ABI, queue state transitions, low-water mark wakeups, or event callback behavior. Tested on a four-core Spacemit K1 with cyclic HDMI playback and by building the SMP QEMU Virt64 RISC-V BSP with generic audio, Intel HDA and VirtIO Sound. Signed-off-by: GuEe-GUI <[email protected]>
2025-09-24RT_TIMER_CTRL_SET_TIME only accept rt_tick_t, pass rt_tick_t instead ↵Yonggang Luo
int/rt_int32_t
2024-04-22[ipc] [dataqueue] 修复队列 pop 挂起的线程 push ↵sp-cai
无法恢复运行的错误 (#8839) 队列在 push 后查找挂起列表时使用了错误的挂起列表。
2024-02-23🎯 Sync smart & scheduler codes (#8537)Shell
Signed-off-by: Shell <[email protected]> Co-authored-by: xqyjlj <[email protected]>
2023-10-25🎈 perf: perf rt_hw_interrupt_disable/enable (#8042)xqyjlj
Signed-off-by: Shell <[email protected]> Co-authored-by: Shell <[email protected]>
2023-07-28[drivers/ipc] fix the recursive including if legacy enabledMeco Man
2023-04-17[HUST CSE] Fix many abnormal symbols in annotations and format code7YZ7
2023-03-23[errno code]fix that use RT_ENOMEM without -Zxy
2023-03-22[errno code][-RT_ETIMEOUT] fix that use RT_ETIMEOUT without -Meco Man
2023-03-20[errno code][-RT_ERROR] fix that use RT_ERROR without -Meco Man
2022-12-03sync branch rt-smart. (#6641)guo
* Synchronize the code of the rt mart branch to the master branch. * TTY device * Add lwP code from rt-smart * Add vnode in DFS, but DFS will be re-write for rt-smart * There are three libcpu for rt-smart: * arm/cortex-a, arm/aarch64 * riscv64 Co-authored-by: Rbb666 <[email protected]> Co-authored-by: zhkag <[email protected]>
2022-07-27使用 AStyle.exe 统一代码格式Aligagago
2022-04-20uniform code writing-disable interruptthewon86
2022-01-26optimize codeHenson
2022-01-26add RT_DEBUG_SCHEDULER_AVAILABLE checkguozhanxin
2022-01-22[device] rename src folder as ipcMeco Man