diff --git a/include/linux/seqlock.h b/include/linux/seqlock.h
index c6db9fb33c448f28197ffb6d135689daf58625b6..bb1fac5b8ee87f99def8e3565c40ac18f4e930e9 100644
--- a/include/linux/seqlock.h
+++ b/include/linux/seqlock.h
@@ -141,7 +141,7 @@ static inline unsigned __read_seqcount_begin(const seqcount_t *s)
unsigned ret;
repeat:
- ret = s->sequence;
+ ret = ACCESS_ONCE(s->sequence);
if (unlikely(ret & 1)) {
cpu_relax();
goto repeat;