diff options
| author | Gui-Dong Han <hanguidong02@gmail.com> | 2026-06-26 16:08:06 +0800 |
|---|---|---|
| committer | Hans Verkuil <hverkuil+cisco@kernel.org> | 2026-06-29 16:10:37 +0200 |
| commit | a1d83d1b810665bd53ce8a7b7867e054d68676c7 (patch) | |
| tree | c8c661804572e9efd9c87be4e88aebc3cc7dc2d8 /include | |
| parent | 3bc2e4a26465386332ee1a40219d8dafba335b0b (diff) | |
| download | linux-a1d83d1b810665bd53ce8a7b7867e054d68676c7.tar.gz linux-a1d83d1b810665bd53ce8a7b7867e054d68676c7.zip | |
media: cec-pin: Fix event FIFO ordering
cec_pin_update() fills work_pin_events[] and work_pin_ts[], then
increments work_pin_num_events. cec_pin_thread_func() uses that counter
to decide when to read the FIFO entries.
Do not let the counter update be observed without the event update. Also
do not let a freed slot be reused before the thread has finished reading
it. Use release operations when publishing an entry and releasing a slot,
and acquire operations when consuming those counter updates.
Leave the other work_pin_num_events users as they do not participate in
this FIFO publication path.
Fixes: ea5c8ef29668 ("media: cec-pin: add low-level pin hardware support")
Signed-off-by: Gui-Dong Han <hanguidong02@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
