cpuidle: upon BIOS bug, default to default_idle rather than polling
authorVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Thu, 16 Oct 2008 23:00:08 +0000 (19:00 -0400)
committerLen Brown <len.brown@intel.com>
Thu, 16 Oct 2008 23:00:08 +0000 (19:00 -0400)
http://bugzilla.kernel.org/show_bug.cgi?id=11345

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
arch/x86/Kconfig
drivers/cpuidle/cpuidle.c

index ed92864..f8caf04 100644 (file)
@@ -123,6 +123,9 @@ config GENERIC_TIME_VSYSCALL
 config ARCH_HAS_CPU_RELAX
        def_bool y
 
+config ARCH_HAS_DEFAULT_IDLE
+       def_bool y
+
 config ARCH_HAS_CACHE_LINE_SIZE
        def_bool y
 
index eb2cade..bb6e3b3 100644 (file)
@@ -56,7 +56,11 @@ static void cpuidle_idle_call(void)
                if (pm_idle_old)
                        pm_idle_old();
                else
+#if defined(CONFIG_ARCH_HAS_DEFAULT_IDLE)
+                       default_idle();
+#else
                        local_irq_enable();
+#endif
                return;
        }