summaryrefslogtreecommitdiffstats
path: root/target/linux/ixp4xx/patches-2.6.36/603-arm-kluin-array-indexing.patch
blob: 3a8c80d742c8a12ddb2577c4f9b9c4ad04f76cfe (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
@@ -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.