Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 10 Apr 2013 21:14:27 +0000 (14:14 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 10 Apr 2013 21:14:27 +0000 (14:14 -0700)
Pull C6X fix from Mark Salter.

Final (?) fix from the barrier discussion.

* tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
  add memory barrier to arch_local_irq_restore

arch/c6x/include/asm/irqflags.h

index cf78e09..2c71d56 100644 (file)
@@ -27,7 +27,7 @@ static inline unsigned long arch_local_save_flags(void)
 /* set interrupt enabled status */
 static inline void arch_local_irq_restore(unsigned long flags)
 {
-       asm volatile (" mvc .s2 %0,CSR\n" : : "b"(flags));
+       asm volatile (" mvc .s2 %0,CSR\n" : : "b"(flags) : "memory");
 }
 
 /* unconditionally enable interrupts */