Make generic cmpxchg() use raw_local_irq_save() The generic routines for the cmpxchg() code path should use the raw_* types on preempt-RT. Signed-off-by: Remy Bohmer --- include/asm-generic/cmpxchg-local.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) Index: linux-2.6.25.11/include/asm-generic/cmpxchg-local.h =================================================================== --- linux-2.6.25.11.orig/include/asm-generic/cmpxchg-local.h 2008-07-13 20:00:25.000000000 +0200 +++ linux-2.6.25.11/include/asm-generic/cmpxchg-local.h 2008-07-16 19:38:34.000000000 +0200 @@ -20,7 +20,7 @@ static inline unsigned long __cmpxchg_lo if (size == 8 && sizeof(unsigned long) != 8) wrong_size_cmpxchg(ptr); - local_irq_save(flags); + raw_local_irq_save(flags); switch (size) { case 1: prev = *(u8 *)ptr; if (prev == old) @@ -41,7 +41,7 @@ static inline unsigned long __cmpxchg_lo default: wrong_size_cmpxchg(ptr); } - local_irq_restore(flags); + raw_local_irq_restore(flags); return prev; } @@ -54,11 +54,11 @@ static inline u64 __cmpxchg64_local_gene u64 prev; unsigned long flags; - local_irq_save(flags); + raw_local_irq_save(flags); prev = *(u64 *)ptr; if (prev == old) *(u64 *)ptr = new; - local_irq_restore(flags); + raw_local_irq_restore(flags); return prev; }