[patch 15/28] Fix m32r __xchg

From: Mathieu Desnoyers
Date: Mon Aug 27 2007 - 12:00:14 EST


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 <mathieu.desnoyers@xxxxxxxxxx>
Acked-by: Hirokazu Takata <takata@xxxxxxxxxxxxxx>
CC: linux-m32r@xxxxxxxxxxxxxxxxx
CC: Adrian Bunk <bunk@xxxxxxxxxx>
---
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/