--- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -323,12 +323,13 @@ static void __init setup_processor(void) void cpu_init(void) { unsigned int cpu = smp_processor_id(); - struct stack *stk = &stacks[cpu]; + struct stack *stk; if (cpu >= NR_CPUS) { printk(KERN_CRIT "CPU%u: bad primary CPU number\n", cpu); BUG(); } + stk = &stacks[cpu]; /* * Define the placement constraint for the inline asm directive below. @@ -387,13 +388,14 @@ static struct machine_desc * __init setu static int __init arm_add_memory(unsigned long start, unsigned long size) { - struct membank *bank = &meminfo.bank[meminfo.nr_banks]; + struct membank *bank; if (meminfo.nr_banks >= NR_BANKS) { printk(KERN_CRIT "NR_BANKS too low, " "ignoring memory at %#lx\n", start); return -EINVAL; } + bank = &meminfo.bank[meminfo.nr_banks]; /* * Ensure that start/size are aligned to a page boundary.