powerpc/watchdog: Don't enable interrupt on PPC64 BookE
authorTudor Laurentiu <laurentiu.tudor@freescale.com>
Tue, 5 Mar 2013 15:52:49 +0000 (17:52 +0200)
committerScott Wood <scottwood@freescale.com>
Tue, 25 Jun 2013 23:14:45 +0000 (18:14 -0500)
Critical interrupts are not handled on PPC64 BookE machines,
so when the first watchdog interrupt fires the machine will
freeze without a warning until it's rebooted by the second
watchdog trigger.
Plus, the interrupt isn't used anyway since the driver
expects a usermode app to ping the watchdog periodically.

Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@freescale.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
drivers/watchdog/booke_wdt.c

index a8dbceb..f1b8d55 100644 (file)
@@ -138,6 +138,14 @@ static void __booke_wdt_enable(void *data)
        val &= ~WDTP_MASK;
        val |= (TCR_WIE|TCR_WRC(WRC_CHIP)|WDTP(booke_wdt_period));
 
+#ifdef CONFIG_PPC_BOOK3E_64
+       /*
+        * Crit ints are currently broken on PPC64 Book-E, so
+        * just disable them for now.
+        */
+       val &= ~TCR_WIE;
+#endif
+
        mtspr(SPRN_TCR, val);
 }