aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-09-24 22:56:25 +0000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2008-09-30 13:25:06 +1000
commit61e9916eba35dfb76d38013a5aae9a59cc50877a (patch)
treed1c6cc37aeb4ec570da99fd463702bc8fe853984 /arch/powerpc
parentad611045ce5d059af84a9855b22ca3f7a99d47be (diff)
downloadkernel_samsung_aries-61e9916eba35dfb76d38013a5aae9a59cc50877a.zip
kernel_samsung_aries-61e9916eba35dfb76d38013a5aae9a59cc50877a.tar.gz
kernel_samsung_aries-61e9916eba35dfb76d38013a5aae9a59cc50877a.tar.bz2
powerpc: Fix failure to shutdown with CPU hotplug
I tracked down the shutdown regression to CPUs not dying when being shut down during power-off. This turns out to be due to the system_state being SYSTEM_POWER_OFF, which this code doesn't take as a valid state for shutting off CPUs in. This has never made sense to me, but when I added hotplug code to implement hibernate I only "made it work" and did not question the need to check the system_state. Thomas Gleixner helped me dig, but the only thing we found is that it was added with the original commit that added CPU hotplug support. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Joel Schopp <jschopp@austin.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/kernel/idle.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/arch/powerpc/kernel/idle.c b/arch/powerpc/kernel/idle.c
index d308a9f..31982d0 100644
--- a/arch/powerpc/kernel/idle.c
+++ b/arch/powerpc/kernel/idle.c
@@ -34,11 +34,7 @@
#include <asm/smp.h>
#ifdef CONFIG_HOTPLUG_CPU
-/* this is used for software suspend, and that shuts down
- * CPUs even while the system is still booting... */
-#define cpu_should_die() (cpu_is_offline(smp_processor_id()) && \
- (system_state == SYSTEM_RUNNING \
- || system_state == SYSTEM_BOOTING))
+#define cpu_should_die() cpu_is_offline(smp_processor_id())
#else
#define cpu_should_die() 0
#endif