All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2] MIPS: Fix poweroff failure when HOTPLUG_CPU configured.
@ 2012-08-13 12:52 Huacai Chen
  2012-08-14 11:48 ` Ralf Baechle
  2012-08-18 17:50 ` Kevin Cernekee
  0 siblings, 2 replies; 5+ messages in thread
From: Huacai Chen @ 2012-08-13 12:52 UTC (permalink / raw)
  To: Ralf Baechle
  Cc: linux-mips, linux-kernel, Fuxin Zhang, Zhangjin Wu, Huacai Chen,
	Hongliang Tao, Hua Yan, Yong Zhang, stable

When poweroff machine, kernel_power_off() call disable_nonboot_cpus().
And if we have HOTPLUG_CPU configured, disable_nonboot_cpus() is not an
empty function but attempt to actually disable the nonboot cpus. Since
system state is SYSTEM_POWER_OFF, play_dead() won't be called and thus
disable_nonboot_cpus() hangs. Therefore, we make this patch to avoid
poweroff failure.

V2:
Make the From: address the same as Signed-off-by address.

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Hongliang Tao <taohl@lemote.com>
Signed-off-by: Hua Yan <yanh@lemote.com>
Cc: Yong Zhang <yong.zhang@windriver.com>
Cc: stable@vger.kernel.org
---
 arch/mips/kernel/process.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
index e9a5fd7..69b17a9 100644
--- a/arch/mips/kernel/process.c
+++ b/arch/mips/kernel/process.c
@@ -72,9 +72,7 @@ void __noreturn cpu_idle(void)
 			}
 		}
 #ifdef CONFIG_HOTPLUG_CPU
-		if (!cpu_online(cpu) && !cpu_isset(cpu, cpu_callin_map) &&
-		    (system_state == SYSTEM_RUNNING ||
-		     system_state == SYSTEM_BOOTING))
+		if (!cpu_online(cpu) && !cpu_isset(cpu, cpu_callin_map))
 			play_dead();
 #endif
 		rcu_idle_exit();
-- 
1.7.7.3

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-08-18 17:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-13 12:52 [PATCH V2] MIPS: Fix poweroff failure when HOTPLUG_CPU configured Huacai Chen
2012-08-14 11:48 ` Ralf Baechle
2012-08-14 14:24   ` Huacai Chen
2012-08-16  3:47   ` Huacai Chen
2012-08-18 17:50 ` Kevin Cernekee

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.