[PATCH] x86: fix percpu_{to,from}_op()

From: Jan Beulich
Date: Mon May 11 2009 - 11:49:44 EST


- the byte operand constraints were wrong for 32-bit
- the to-op's input operands weren't properly parenthesized

[ Impact: compilation problem fix ]

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

---
arch/x86/include/asm/percpu.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

--- linux-2.6.30-rc5/arch/x86/include/asm/percpu.h 2009-05-11 17:28:25.000000000 +0200
+++ 2.6.30-rc5-x86-percpu-accessors/arch/x86/include/asm/percpu.h 2009-05-07 16:40:11.000000000 +0200
@@ -82,22 +82,22 @@ do { \
case 1: \
asm(op "b %1,"__percpu_arg(0) \
: "+m" (var) \
- : "ri" ((T__)val)); \
+ : "qi" ((T__)(val))); \
break; \
case 2: \
asm(op "w %1,"__percpu_arg(0) \
: "+m" (var) \
- : "ri" ((T__)val)); \
+ : "ri" ((T__)(val))); \
break; \
case 4: \
asm(op "l %1,"__percpu_arg(0) \
: "+m" (var) \
- : "ri" ((T__)val)); \
+ : "ri" ((T__)(val))); \
break; \
case 8: \
asm(op "q %1,"__percpu_arg(0) \
: "+m" (var) \
- : "re" ((T__)val)); \
+ : "re" ((T__)(val))); \
break; \
default: __bad_percpu_size(); \
} \
@@ -109,7 +109,7 @@ do { \
switch (sizeof(var)) { \
case 1: \
asm(op "b "__percpu_arg(1)",%0" \
- : "=r" (ret__) \
+ : "=q" (ret__) \
: "m" (var)); \
break; \
case 2: \



--
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/