diff --git a/include/nuttx/seqlock.h b/include/nuttx/seqlock.h index d501bb08eac..90d143ddd39 100644 --- a/include/nuttx/seqlock.h +++ b/include/nuttx/seqlock.h @@ -161,6 +161,7 @@ irqstate_t write_seqlock_irqsave(FAR seqcount_t *s) irqstate_t flags = spin_lock_irqsave(&s->lock); s->sequence++; + SMP_WMB(); return flags; } @@ -183,6 +184,7 @@ irqstate_t write_seqlock_irqsave(FAR seqcount_t *s) static inline_function void write_sequnlock_irqrestore(seqcount_t *s, irqstate_t flags) { + SMP_WMB(); s->sequence++; spin_unlock_irqrestore(&s->lock, flags); }