summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0064-Enable-watchdog-to-save-useflag-after-host-power-off.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0064-Enable-watchdog-to-save-useflag-after-host-power-off.patch')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0064-Enable-watchdog-to-save-useflag-after-host-power-off.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0064-Enable-watchdog-to-save-useflag-after-host-power-off.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0064-Enable-watchdog-to-save-useflag-after-host-power-off.patch
new file mode 100644
index 000000000..523a3e1a9
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0064-Enable-watchdog-to-save-useflag-after-host-power-off.patch
@@ -0,0 +1,65 @@
+From c82162866be3c236ed73c6a19b9a0bb3097718ae Mon Sep 17 00:00:00 2001
+From: Yong Li <yong.b.li@linux.intel.com>
+Date: Sat, 12 Oct 2019 12:23:24 +0800
+Subject: [PATCH] Enable watchdog to save useflag after host power off
+
+Get the right useflag after host power off.
+
+Tested:
+Set a watchdog (Timer action is none and Time Use is BIOS FRB2)
+ipmitool raw 0x06 0x24 0x01 0x00 0x00 0x00 0x40 0x00
+Get watchdog
+ipmitool mc watchdog get
+Start watchdog
+ipmitool mc watchdog reset
+Get watchdog
+ipmitool mc watchdog get
+After timer is stop, set a watchdog again
+(Timer action is none and Time Use is BIOS/POST)
+ipmitool raw 0x06 0x24 0x02 0x00 0x00 0x00 0x40 0x00
+Start watchdog and wait until timer is stop,
+Get watchdog
+ipmitool mc watchdog get
+Timer Expiration Flags should be 0x06(BIOS FRB2, BIOS/POST)
+Power down the Host
+Ipmitool chassis power off
+Check the Timer Expiration Flags(User Flags)
+ipmitool mc watchdog get
+Timer Expiration Flags should be 0x06(BIOS FRB2, BIOS/POST)
+
+Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
+---
+ app/watchdog.cpp | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/app/watchdog.cpp b/app/watchdog.cpp
+index c64a92f..2ff9ee9 100644
+--- a/app/watchdog.cpp
++++ b/app/watchdog.cpp
+@@ -437,22 +437,20 @@ ipmi::RspType<uint3_t, // timerUse - timer use
+ wdTimerUseToIpmiTimerUse(wd_prop.expiredTimerUse));
+ }
+
++ expireFlags = timerUseExpirationFlags;
+ if (wd_prop.enabled)
+ {
+ presentCountdown = htole16(wd_prop.timeRemaining / 100);
+- expireFlags = 0;
+ }
+ else
+ {
+ if (wd_prop.expiredTimerUse == WatchdogService::TimerUse::Reserved)
+ {
+ presentCountdown = initialCountdown;
+- expireFlags = 0;
+ }
+ else
+ {
+ presentCountdown = 0;
+- expireFlags = timerUseExpirationFlags;
+ // Automatically clear it whenever a timer expiration occurs.
+ timerNotLogFlags = false;
+ }
+--
+2.7.4
+