[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 d10e554a14d650ef27bf31a68641ab8e15cbfb0f..f1016e3ba117f5de876078b619d22575df68dd96 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 117903498a015c2a64641706e3edd77e32206691..0d93097f06b489c491f17626162bd658b9a9d4a5 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 5684aa37988611d4525824d5e6401ee70426a9f8..1210ca0c425b3b829c2b50ef9bd921d1a5965317 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 7651deda928c3cb9e02b8c7b6b43b082b07e4b4e..c80cb77b92fb0bc86261ba597489d6c6991dd145 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");