diff options
Diffstat (limited to 'arch/powerpc/kernel/setup-common.c')
| -rw-r--r-- | arch/powerpc/kernel/setup-common.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index e5b022c55ccd..1b0e26013a62 100644 --- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c @@ -456,18 +456,20 @@ void __init smp_setup_cpu_maps(void)  		intserv = of_get_property(dn, "ibm,ppc-interrupt-server#s",  				&len);  		if (intserv) { -			nthreads = len / sizeof(int);  			DBG("    ibm,ppc-interrupt-server#s -> %d threads\n",  			    nthreads);  		} else {  			DBG("    no ibm,ppc-interrupt-server#s -> 1 thread\n"); -			intserv = of_get_property(dn, "reg", NULL); +			intserv = of_get_property(dn, "reg", &len);  			if (!intserv) {  				cpu_be = cpu_to_be32(cpu);  				intserv = &cpu_be;	/* assume logical == phys */ +				len = 4;  			}  		} +		nthreads = len / sizeof(int); +  		for (j = 0; j < nthreads && cpu < nr_cpu_ids; j++) {  			bool avail;  |