summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorZixun LI <[email protected]>2025-11-25 16:12:20 +0100
committerZixun LI <[email protected]>2025-11-25 16:41:30 +0100
commit3f0d2668f1acbda95fa6d8b341c6ade8b56ee02b (patch)
treed1e30a79bb8df87a362300fed496ce56b491bebf /src/common
parent91c3b338b2efe2c1341be1baec2620dbab181728 (diff)
fifo: fix IAR Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined
Diffstat (limited to 'src/common')
-rw-r--r--src/common/tusb_fifo.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/common/tusb_fifo.h b/src/common/tusb_fifo.h
index 9d8b864e9..2fb4f37d4 100644
--- a/src/common/tusb_fifo.h
+++ b/src/common/tusb_fifo.h
@@ -175,7 +175,9 @@ bool tu_fifo_full(const tu_fifo_t *f);
bool tu_fifo_overflowed(const tu_fifo_t *f);
TU_ATTR_ALWAYS_INLINE static inline bool tu_fifo_empty(const tu_fifo_t *f) {
- return f->wr_idx == f->rd_idx;
+ uint16_t wr_idx = f->wr_idx;
+ uint16_t rd_idx = f->rd_idx;
+ return wr_idx == rd_idx;
}
TU_ATTR_ALWAYS_INLINE static inline uint16_t tu_fifo_depth(const tu_fifo_t *f) {