x86/cpuidle: restrict scope of mwait_ptr in acpi_dead_idle()
authorJan Beulich <jbeulich@suse.com>
Tue, 6 Mar 2012 15:11:59 +0000 (16:11 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 6 Mar 2012 15:11:59 +0000 (16:11 +0100)
... just to make sure it doesn't get used improperly (resulting from
the discussion around what became c/s 24968:8964c223836c).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
xen/arch/x86/acpi/cpu_idle.c

index 90168548bc0cc54fbc2e830ca80945674166aeeb..bc824e88c050b5c636aec547c8ca7638fb52e3f4 100644 (file)
@@ -565,7 +565,6 @@ static void acpi_dead_idle(void)
 {
     struct acpi_processor_power *power;
     struct acpi_processor_cx *cx;
-    void *mwait_ptr;
 
     if ( (power = processor_powers[smp_processor_id()]) == NULL )
         goto default_halt;
@@ -573,10 +572,10 @@ static void acpi_dead_idle(void)
     if ( (cx = &power->states[power->count-1]) == NULL )
         goto default_halt;
 
-    mwait_ptr = (void *)&mwait_wakeup(smp_processor_id());
-
     if ( cx->entry_method == ACPI_CSTATE_EM_FFH )
     {
+        void *mwait_ptr = &mwait_wakeup(smp_processor_id());
+
         /*
          * Cache must be flushed as the last operation before sleeping.
          * Otherwise, CPU may still hold dirty data, breaking cache coherency,