--- linux-2.6.9/drivers/char/sysrq.c.orig	2008-06-13 11:22:08.889716000 -0700
+++ linux-2.6.9/drivers/char/sysrq.c	2008-06-13 13:48:36.805062000 -0700
@@ -98,9 +98,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) 
 {
-	static struct work_struct reboot_work;
-	INIT_WORK(&reboot_work, machine_restart, NULL);
-	schedule_work(&reboot_work);
+	machine_restart(NULL);
 }
 
 static struct sysrq_key_op sysrq_reboot_op = {
