diff options
-rw-r--r-- | drivers/acpi/processor_idle.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index ee5759bef945..80ffc7829916 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c | |||
@@ -332,16 +332,18 @@ static void acpi_processor_idle(void) | |||
332 | int sleep_ticks = 0; | 332 | int sleep_ticks = 0; |
333 | u32 t1, t2 = 0; | 333 | u32 t1, t2 = 0; |
334 | 334 | ||
335 | pr = processors[smp_processor_id()]; | ||
336 | if (!pr) | ||
337 | return; | ||
338 | |||
339 | /* | 335 | /* |
340 | * Interrupts must be disabled during bus mastering calculations and | 336 | * Interrupts must be disabled during bus mastering calculations and |
341 | * for C2/C3 transitions. | 337 | * for C2/C3 transitions. |
342 | */ | 338 | */ |
343 | local_irq_disable(); | 339 | local_irq_disable(); |
344 | 340 | ||
341 | pr = processors[smp_processor_id()]; | ||
342 | if (!pr) { | ||
343 | local_irq_enable(); | ||
344 | return; | ||
345 | } | ||
346 | |||
345 | /* | 347 | /* |
346 | * Check whether we truly need to go idle, or should | 348 | * Check whether we truly need to go idle, or should |
347 | * reschedule: | 349 | * reschedule: |