diff options
| -rw-r--r-- | arch/metag/include/asm/barrier.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/metag/include/asm/barrier.h b/arch/metag/include/asm/barrier.h index 5d6b4b407dda..2d6f0de77325 100644 --- a/arch/metag/include/asm/barrier.h +++ b/arch/metag/include/asm/barrier.h | |||
| @@ -15,6 +15,7 @@ static inline void wr_fence(void) | |||
| 15 | volatile int *flushptr = (volatile int *) LINSYSEVENT_WR_FENCE; | 15 | volatile int *flushptr = (volatile int *) LINSYSEVENT_WR_FENCE; |
| 16 | barrier(); | 16 | barrier(); |
| 17 | *flushptr = 0; | 17 | *flushptr = 0; |
| 18 | barrier(); | ||
| 18 | } | 19 | } |
| 19 | 20 | ||
| 20 | #else /* CONFIG_METAG_META21 */ | 21 | #else /* CONFIG_METAG_META21 */ |
| @@ -35,6 +36,7 @@ static inline void wr_fence(void) | |||
| 35 | *flushptr = 0; | 36 | *flushptr = 0; |
| 36 | *flushptr = 0; | 37 | *flushptr = 0; |
| 37 | *flushptr = 0; | 38 | *flushptr = 0; |
| 39 | barrier(); | ||
| 38 | } | 40 | } |
| 39 | 41 | ||
| 40 | #endif /* !CONFIG_METAG_META21 */ | 42 | #endif /* !CONFIG_METAG_META21 */ |
| @@ -68,6 +70,7 @@ static inline void fence(void) | |||
| 68 | volatile int *flushptr = (volatile int *) LINSYSEVENT_WR_ATOMIC_UNLOCK; | 70 | volatile int *flushptr = (volatile int *) LINSYSEVENT_WR_ATOMIC_UNLOCK; |
| 69 | barrier(); | 71 | barrier(); |
| 70 | *flushptr = 0; | 72 | *flushptr = 0; |
| 73 | barrier(); | ||
| 71 | } | 74 | } |
| 72 | #define smp_mb() fence() | 75 | #define smp_mb() fence() |
| 73 | #define smp_rmb() fence() | 76 | #define smp_rmb() fence() |
