[PATCH] Fix watchdog drivers to call emergency_reboot()
authorEric W. Biederman <ebiederm@xmission.com>
Tue, 26 Jul 2005 17:53:19 +0000 (11:53 -0600)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 26 Jul 2005 21:35:43 +0000 (14:35 -0700)
If a watchdog driver has decided it is time to reboot the system
we know something is wrong and we are in interrupt context
so emergency_reboot() is what we want.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/char/watchdog/eurotechwdt.c
drivers/char/watchdog/softdog.c
drivers/char/watchdog/wdt.c
drivers/char/watchdog/wdt_pci.c

index d10e554..f1016e3 100644 (file)
@@ -167,7 +167,7 @@ static irqreturn_t eurwdt_interrupt(int irq, void *dev_id, struct pt_regs *regs)
        printk(KERN_CRIT "Would Reboot.\n");
 #else
        printk(KERN_CRIT "Initiating system reboot.\n");
-       machine_restart(NULL);
+       emergency_restart(NULL);
 #endif
        return IRQ_HANDLED;
 }
index 1179034..0d93097 100644 (file)
@@ -97,7 +97,7 @@ static void watchdog_fire(unsigned long data)
        else
        {
                printk(KERN_CRIT PFX "Initiating system reboot.\n");
-               machine_restart(NULL);
+               emergency_restart(NULL);
                printk(KERN_CRIT PFX "Reboot didn't ?????\n");
        }
 }
index 5684aa3..1210ca0 100644 (file)
@@ -266,7 +266,7 @@ static irqreturn_t wdt_interrupt(int irq, void *dev_id, struct pt_regs *regs)
                printk(KERN_CRIT "Would Reboot.\n");
 #else
                printk(KERN_CRIT "Initiating system reboot.\n");
-               machine_restart(NULL);
+               emergency_restart();
 #endif
 #else
                printk(KERN_CRIT "Reset in 5ms.\n");
index 7651ded..c80cb77 100644 (file)
@@ -311,7 +311,7 @@ static irqreturn_t wdtpci_interrupt(int irq, void *dev_id, struct pt_regs *regs)
                printk(KERN_CRIT PFX "Would Reboot.\n");
 #else
                printk(KERN_CRIT PFX "Initiating system reboot.\n");
-               machine_restart(NULL);
+               emergency_restart(NULL);
 #endif
 #else
                printk(KERN_CRIT PFX "Reset in 5ms.\n");