summaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2013-12-12 05:59:36 +0100
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2013-12-13 05:48:34 +0100
commitf8a1883a833bbad8e6b5ec4f0918b7797e652d65 (patch)
tree7f16fd63cc9ffd6fc218143c244e64265b2a475a /arch/powerpc
parentpowerpc: Fix endian issue in setup-common.c (diff)
downloadlinux-f8a1883a833bbad8e6b5ec4f0918b7797e652d65.tar.xz
linux-f8a1883a833bbad8e6b5ec4f0918b7797e652d65.zip
powerpc: Fix topology core_id endian issue on LE builds
cpu_to_core_id() is missing a byteswap: cat /sys/devices/system/cpu/cpu63/topology/core_id 201326592 Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/kernel/smp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index a3b64f3bf9a2..c1cf4a1522d9 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -580,7 +580,7 @@ int __cpu_up(unsigned int cpu, struct task_struct *tidle)
int cpu_to_core_id(int cpu)
{
struct device_node *np;
- const int *reg;
+ const __be32 *reg;
int id = -1;
np = of_get_cpu_node(cpu, NULL);
@@ -591,7 +591,7 @@ int cpu_to_core_id(int cpu)
if (!reg)
goto out;
- id = *reg;
+ id = be32_to_cpup(reg);
out:
of_node_put(np);
return id;