summaryrefslogtreecommitdiff
path: root/drivers/watchdog/booke_wdt.c
diff options
context:
space:
mode:
authorTudor Laurentiu <laurentiu.tudor@freescale.com>2013-03-05 19:52:49 +0400
committerScott Wood <scottwood@freescale.com>2013-06-26 03:14:45 +0400
commit3978bdb4ed653342b0be66c031bf61b72cc55d60 (patch)
tree6bf077e8fe4300e4a672448438a3f3bebbf24717 /drivers/watchdog/booke_wdt.c
parenta16d8aa4726a944ffc1616689ae34ff6a902faba (diff)
downloadlinux-3978bdb4ed653342b0be66c031bf61b72cc55d60.tar.xz
powerpc/watchdog: Don't enable interrupt on PPC64 BookE
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>
Diffstat (limited to 'drivers/watchdog/booke_wdt.c')
-rw-r--r--drivers/watchdog/booke_wdt.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/watchdog/booke_wdt.c b/drivers/watchdog/booke_wdt.c
index a8dbceb32914..f1b8d555080e 100644
--- a/drivers/watchdog/booke_wdt.c
+++ b/drivers/watchdog/booke_wdt.c
@@ -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);
}