From: Zwane Mwaikambo __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 Signed-off-by: Andrew Morton --- 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); } _