diff options
Diffstat (limited to 'arch/arm/include/asm/processor.h')
-rw-r--r-- | arch/arm/include/asm/processor.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/include/asm/processor.h b/arch/arm/include/asm/processor.h index 120f4c9bbfde..57fe73ea0f72 100644 --- a/arch/arm/include/asm/processor.h +++ b/arch/arm/include/asm/processor.h | |||
@@ -89,7 +89,11 @@ extern void release_thread(struct task_struct *); | |||
89 | unsigned long get_wchan(struct task_struct *p); | 89 | unsigned long get_wchan(struct task_struct *p); |
90 | 90 | ||
91 | #if __LINUX_ARM_ARCH__ == 6 || defined(CONFIG_ARM_ERRATA_754327) | 91 | #if __LINUX_ARM_ARCH__ == 6 || defined(CONFIG_ARM_ERRATA_754327) |
92 | #define cpu_relax() smp_mb() | 92 | #define cpu_relax() \ |
93 | do { \ | ||
94 | smp_mb(); \ | ||
95 | __asm__ __volatile__("nop; nop; nop; nop; nop; nop; nop; nop; nop; nop;"); \ | ||
96 | } while (0) | ||
93 | #else | 97 | #else |
94 | #define cpu_relax() barrier() | 98 | #define cpu_relax() barrier() |
95 | #endif | 99 | #endif |