From: Mathieu Desnoyers Date: Thu, 7 Feb 2008 08:16:18 +0000 (-0800) Subject: Fix m32r __xchg X-Git-Tag: v2.6.25-rc1~339 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f94d1d3a1df125461a16b2888eca46d64f113e3a;p=linux-2.6 Fix m32r __xchg the #endif /* CONFIG_SMP */ should cover the default condition, or it may cause bad parameter to be silently missed. To make it work correctly, we have to remove the ifdef CONFIG SMP surrounding __xchg_called_with_bad_pointer declaration. Thanks to Adrian Bunk for detecting this. Signed-off-by: Mathieu Desnoyers Acked-by: Hirokazu Takata Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/include/asm-m32r/system.h b/include/asm-m32r/system.h index 7e7eb3703d..70a57c8c00 100644 --- a/include/asm-m32r/system.h +++ b/include/asm-m32r/system.h @@ -127,9 +127,7 @@ static inline void local_irq_disable(void) ((__typeof__(*(ptr)))__xchg_local((unsigned long)(x), (ptr), \ sizeof(*(ptr)))) -#ifdef CONFIG_SMP extern void __xchg_called_with_bad_pointer(void); -#endif #ifdef CONFIG_CHIP_M32700_TS1 #define DCACHE_CLEAR(reg0, reg1, addr) \ @@ -189,9 +187,9 @@ __xchg(unsigned long x, volatile void *ptr, int size) #endif /* CONFIG_CHIP_M32700_TS1 */ ); break; +#endif /* CONFIG_SMP */ default: __xchg_called_with_bad_pointer(); -#endif /* CONFIG_SMP */ } local_irq_restore(flags);