From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Rafael J. Wysocki" Subject: [PATCH -mm 6/8] Schedule sysrq poweroff on boot cpu Date: Thu, 10 Jul 2008 02:04:24 +0200 Message-ID: <200807100204.25010.rjw@sisk.pl> References: <200807100152.17755.rjw@sisk.pl> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: 7bit Return-path: Received: from ogre.sisk.pl ([217.79.144.158]:49043 "EHLO ogre.sisk.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756130AbYGJAGk (ORCPT ); Wed, 9 Jul 2008 20:06:40 -0400 In-Reply-To: <200807100152.17755.rjw@sisk.pl> Content-Disposition: inline Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: Andrew Morton Cc: ACPI Devel Maling List , LKML , Pavel Machek , pm list , Zhang Rui , Rus From: Zhang Rui Subject: Schedule sysrq poweroff on boot cpu 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 tested-by: Rus Signed-off-by: Rafael J. Wysocki --- 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 = {