[PATCH] olpc: fix endian bug in openfirmware workaround

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Harvey Harrison
Date: Tuesday, September 23, 2008 - 3:20 pm

Boardrev is always treated as a u32 everywhere else, no reason to
byteswap the 0xc2 value.  The only use is to print out if it is
a prerelease board, the test being:

(olpc_platform_info.boardrev & 0xf) < 8

Which is currently always true as be32_to_cpu(0xc2) & 0xf = 0
but I doubt that was the intention here.  The consequences of the bug
are pretty minor though (incorrect boardrev displayed in dmesg when
ofw support not configured)

Also annotate the temporary used to read the boardrev in the ofw
case.

The confusion was noticed by sparse:
arch/x86/kernel/olpc.c:206:32: warning: cast to restricted __be32

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
---
 arch/x86/kernel/olpc.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/olpc.c b/arch/x86/kernel/olpc.c
index 3e66722..7a13fac 100644
--- a/arch/x86/kernel/olpc.c
+++ b/arch/x86/kernel/olpc.c
@@ -190,12 +190,12 @@ EXPORT_SYMBOL_GPL(olpc_ec_cmd);
 static void __init platform_detect(void)
 {
 	size_t propsize;
-	u32 rev;
+	__be32 rev;
 
 	if (ofw("getprop", 4, 1, NULL, "board-revision-int", &rev, 4,
 			&propsize) || propsize != 4) {
 		printk(KERN_ERR "ofw: getprop call failed!\n");
-		rev = 0;
+		rev = cpu_to_be32(0);
 	}
 	olpc_platform_info.boardrev = be32_to_cpu(rev);
 }
@@ -203,7 +203,7 @@ static void __init platform_detect(void)
 static void __init platform_detect(void)
 {
 	/* stopgap until OFW support is added to the kernel */
-	olpc_platform_info.boardrev = be32_to_cpu(0xc2);
+	olpc_platform_info.boardrev = 0xc2;
 }
 #endif
 
-- 
1.6.0.2.471.g47a76



--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] olpc: fix endian bug in openfirmware workaround, Harvey Harrison, (Tue Sep 23, 3:20 pm)
[PATCH] olpc: fix model detection without OFW, Chris Ball, (Fri Feb 13, 6:56 pm)
Re: [PATCH] olpc: fix model detection without OFW, Andres Salomon, (Fri Feb 13, 9:19 pm)
Re: [PATCH] olpc: fix model detection without OFW, Ingo Molnar, (Sat Feb 14, 2:43 pm)
Re: [PATCH] olpc: fix model detection without OFW, Andres Salomon, (Sat Feb 14, 2:53 pm)
Re: [PATCH] olpc: fix model detection without OFW, Ingo Molnar, (Sat Feb 14, 3:14 pm)
Re: [PATCH] olpc: fix model detection without OFW, Andres Salomon, (Sat Feb 14, 3:32 pm)