diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/kernel/process.c | 4 | ||||
-rw-r--r-- | arch/arm/kernel/smp.c | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index ba298277becd..93dd92cc12f8 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c | |||
@@ -116,13 +116,13 @@ void cpu_idle(void) | |||
116 | 116 | ||
117 | if (!idle) | 117 | if (!idle) |
118 | idle = default_idle; | 118 | idle = default_idle; |
119 | preempt_disable(); | ||
120 | leds_event(led_idle_start); | 119 | leds_event(led_idle_start); |
121 | while (!need_resched()) | 120 | while (!need_resched()) |
122 | idle(); | 121 | idle(); |
123 | leds_event(led_idle_end); | 122 | leds_event(led_idle_end); |
124 | preempt_enable(); | 123 | preempt_enable_no_resched(); |
125 | schedule(); | 124 | schedule(); |
125 | preempt_disable(); | ||
126 | } | 126 | } |
127 | } | 127 | } |
128 | 128 | ||
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index 77e2e9ca89fa..e55ea952f7aa 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c | |||
@@ -256,7 +256,9 @@ void __cpuexit cpu_die(void) | |||
256 | asmlinkage void __cpuinit secondary_start_kernel(void) | 256 | asmlinkage void __cpuinit secondary_start_kernel(void) |
257 | { | 257 | { |
258 | struct mm_struct *mm = &init_mm; | 258 | struct mm_struct *mm = &init_mm; |
259 | unsigned int cpu = smp_processor_id(); | 259 | unsigned int cpu; |
260 | |||
261 | cpu = smp_processor_id(); | ||
260 | 262 | ||
261 | printk("CPU%u: Booted secondary processor\n", cpu); | 263 | printk("CPU%u: Booted secondary processor\n", cpu); |
262 | 264 | ||
@@ -273,6 +275,7 @@ asmlinkage void __cpuinit secondary_start_kernel(void) | |||
273 | local_flush_tlb_all(); | 275 | local_flush_tlb_all(); |
274 | 276 | ||
275 | cpu_init(); | 277 | cpu_init(); |
278 | preempt_disable(); | ||
276 | 279 | ||
277 | /* | 280 | /* |
278 | * Give the platform a chance to do its own initialisation. | 281 | * Give the platform a chance to do its own initialisation. |