aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2015-03-05 15:20:34 +1100
committerJeremy Kerr <jk@ozlabs.org>2015-03-05 15:22:16 +1100
commit9a3f68b499e686ff3b543633f59192890f6c740b (patch)
tree63a4723bf22818ddd507a02f5057b091e7e60cac /hw
parent3955cd2be2067b5db1d9dcace986b88aeccf1f20 (diff)
downloadskiboot-9a3f68b499e686ff3b543633f59192890f6c740b.zip
skiboot-9a3f68b499e686ff3b543633f59192890f6c740b.tar.gz
skiboot-9a3f68b499e686ff3b543633f59192890f6c740b.tar.bz2
hw/ipmmi: Disable watchdog on final reset
Rather than doing the last disable in the interrupt path, do it on final reset. This is a temporary workaround for incorrect pretimeout behaviour. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'hw')
-rw-r--r--hw/ipmi/ipmi-watchdog.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/hw/ipmi/ipmi-watchdog.c b/hw/ipmi/ipmi-watchdog.c
index de766cf..a3db53b 100644
--- a/hw/ipmi/ipmi-watchdog.c
+++ b/hw/ipmi/ipmi-watchdog.c
@@ -105,9 +105,15 @@ void ipmi_wdt_stop(void)
void ipmi_wdt_final_reset(void)
{
+ /* todo: this is disabled while we're waiting on fixed watchdog
+ * behaviour */
+#if 0
set_wdt(WDT_POWER_CYCLE_ACTION | WDT_PRETIMEOUT_SMI, WDT_TIMEOUT,
WDT_MARGIN/10);
reset_wdt(NULL, (void *) 1);
+#endif
+ set_wdt(WDT_NO_ACTION, 100, 0);
+ ipmi_set_boot_count();
cancel_timer(&wdt_timer);
}