Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc: Fix some endian issues in xics code

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

authored by

Anton Blanchard and committed by
Benjamin Herrenschmidt
d213dd53 6f7aba7b

+5 -5
+5 -5
arch/powerpc/sysdev/xics/xics-common.c
··· 49 49 int i, j; 50 50 struct device_node *np; 51 51 u32 ilen; 52 - const u32 *ireg; 52 + const __be32 *ireg; 53 53 u32 hcpuid; 54 54 55 55 /* Find the server numbers for the boot cpu. */ ··· 75 75 * default distribution server 76 76 */ 77 77 for (j = 0; j < i; j += 2) { 78 - if (ireg[j] == hcpuid) { 79 - xics_default_distrib_server = ireg[j+1]; 78 + if (be32_to_cpu(ireg[j]) == hcpuid) { 79 + xics_default_distrib_server = be32_to_cpu(ireg[j+1]); 80 80 break; 81 81 } 82 82 } ··· 383 383 static void __init xics_get_server_size(void) 384 384 { 385 385 struct device_node *np; 386 - const u32 *isize; 386 + const __be32 *isize; 387 387 388 388 /* We fetch the interrupt server size from the first ICS node 389 389 * we find if any ··· 394 394 isize = of_get_property(np, "ibm,interrupt-server#-size", NULL); 395 395 if (!isize) 396 396 return; 397 - xics_interrupt_server_size = *isize; 397 + xics_interrupt_server_size = be32_to_cpu(*isize); 398 398 of_node_put(np); 399 399 } 400 400