[PATCH 2/2] run sysrq poweroff on boot cpu

From: Zhang Rui
Date: Thu Jul 03 2008 - 08:31:44 EST


From: Zhang Rui <rui.zhang@xxxxxxxxx>

schedule sysrq poweroff on boot cpu.

sysrq poweroff needs to disable nonboot cpus, and we need to run this
on boot cpu to avoid any recursion.
http://bugzilla.kernel.org/show_bug.cgi?id=10897

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
tested-by: Rus <harbour@xxxxxxxxxxx>
---
kernel/power/poweroff.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Index: linux-2.6/kernel/power/poweroff.c
===================================================================
--- linux-2.6.orig/kernel/power/poweroff.c 2008-06-30 16:01:35.000000000 +0800
+++ linux-2.6/kernel/power/poweroff.c 2008-07-03 10:50:05.000000000 +0800
@@ -25,7 +25,8 @@

static void handle_poweroff(int key, struct tty_struct *tty)
{
- schedule_work(&poweroff_work);
+ /* run sysrq poweroff on boot cpu */
+ schedule_work_on(first_cpu(cpu_online_map), &poweroff_work);
}

static struct sysrq_key_op sysrq_poweroff_op = {


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/