Skip to content

Commit a1cc703

Browse files
Sinan Kayaamalon
authored andcommitted
MIPS: io: Add barrier after register read in readX()
While a barrier is present in the writeX() functions before the register write, a similar barrier is missing in the readX() functions after the register read. This could allow memory accesses following readX() to observe stale data. Signed-off-by: Sinan Kaya <[email protected]> Reported-by: Arnd Bergmann <[email protected]> Cc: Ralf Baechle <[email protected]> Cc: Paul Burton <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/19069/ [[email protected]: Tidy commit message] Signed-off-by: James Hogan <[email protected]>
1 parent f6b7aee commit a1cc703

File tree

1 file changed

+2
-0
lines changed
  • arch/mips/include/asm

1 file changed

+2
-0
lines changed

arch/mips/include/asm/io.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,8 @@ static inline type pfx##read##bwlq(const volatile void __iomem *mem) \
377377
BUG(); \
378378
} \
379379
\
380+
/* prevent prefetching of coherent DMA data prematurely */ \
381+
rmb(); \
380382
return pfx##ioswab##bwlq(__mem, __val); \
381383
}
382384

0 commit comments

Comments
 (0)