diff options
| author | Wolfgang Denk <[email protected]> | 2011-02-11 12:25:48 +0000 |
|---|---|---|
| committer | Albert Aribaud <[email protected]> | 2011-02-21 08:30:55 +0100 |
| commit | 495df3bad9f250a36470cce15f14c36c616172b6 (patch) | |
| tree | cb5c1c1f3a4aab72b37538b527096fea076c3def /include/stdio_dev.h | |
| parent | 6087f1a90cb2f275752496229b96f0e00aa0a7cd (diff) | |
ARM: fix write*() I/O accessors
Commit 3c0659b "ARM: Avoid compiler optimization for readb, writeb
and friends." introduced I/O accessors with memory barriers.
Unfortunately the new write*() accessors introduced a bug:
The problem is that the argument "v" gets evaluated twice. This
breaks code like used here (from "drivers/net/dnet.c"):
for (i = 0; i < wrsz; i++)
writel(*bufp++, &dnet->regs->TX_DATA_FIFO);
Use auxiliary variables to avoid such problems.
Signed-off-by: Wolfgang Denk <[email protected]>
Cc: Albert Aribaud <[email protected]>
Cc: Alexander Holler <[email protected]>
Cc: Dirk Behme <[email protected]>
Diffstat (limited to 'include/stdio_dev.h')
0 files changed, 0 insertions, 0 deletions
