aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ixp4xx/patches-2.6.34/603-arm-kluin-array-indexing.patch
blob: aca693a41c53e4fa6d9cefb2fc021256fa1495b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -322,12 +322,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.
@@ -386,13 +387,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.