Fix m32r __xchg (revised)

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 <[EMAIL PROTECTED]>
CC: [EMAIL PROTECTED]
CC: [EMAIL PROTECTED]
CC: Adrian Bunk <[EMAIL PROTECTED]>
---
 include/asm-m32r/system.h |    4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Index: linux-2.6-lttng/include/asm-m32r/system.h
===================================================================
--- linux-2.6-lttng.orig/include/asm-m32r/system.h      2007-08-13 
18:21:02.000000000 -0400
+++ linux-2.6-lttng/include/asm-m32r/system.h   2007-08-19 07:08:26.000000000 
-0400
@@ -127,9 +127,7 @@ static inline void local_irq_disable(voi
        ((__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 * 
 #endif /* CONFIG_CHIP_M32700_TS1 */
                );
                break;
+#endif  /* CONFIG_SMP */
        default:
                __xchg_called_with_bad_pointer();
-#endif  /* CONFIG_SMP */
        }
 
        local_irq_restore(flags);
-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to