
From: Zwane Mwaikambo <zwane@holomorphy.com>

__handle_sysrq was modified to do a spin_lock_irqsave so we were entering
smp_send_stop with interrupts.  So reenable interrupts to prevent the
possible smp_call_function() deadlock.

(It's still deadlocky if the sysrq handler is against called via an
interrupt from a different device, but that seems unlikely).

Signed-off-by: Zwane Mwaikambo <zwane@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/char/sysrq.c |    1 +
 1 files changed, 1 insertion(+)

diff -puN drivers/char/sysrq.c~fix-alt-sysrq-deadlock drivers/char/sysrq.c
--- 25/drivers/char/sysrq.c~fix-alt-sysrq-deadlock	Fri Dec  3 13:41:09 2004
+++ 25-akpm/drivers/char/sysrq.c	Fri Dec  3 13:41:09 2004
@@ -101,6 +101,7 @@ static struct sysrq_key_op sysrq_unraw_o
 static void sysrq_handle_reboot(int key, struct pt_regs *pt_regs,
 				struct tty_struct *tty) 
 {
+	local_irq_enable();
 	machine_restart(NULL);
 }
 
_
