Re: [PATCH v4 06/10] watchdog/hpwdt: condition early return of NMI handler on iLO5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/25/2018 01:32 PM, Jerry Hoemann wrote:
Modify prior change to not claim an NMI unless originated
from iLO to apply only to iLO5 and later going forward.
This restores hpwdt traditional behavior of calling panic
if the NMI is NMI_IO_CHECK, NMI_SERR, or NMI_UNKNOWN for
legacy hardware.

Signed-off-by: Jerry Hoemann <jerry.hoemann@xxxxxxx>
---
  drivers/watchdog/hpwdt.c | 6 +++++-
  1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/watchdog/hpwdt.c b/drivers/watchdog/hpwdt.c
index 1a18326bc99d..e60c689ebdb2 100644
--- a/drivers/watchdog/hpwdt.c
+++ b/drivers/watchdog/hpwdt.c
@@ -32,6 +32,7 @@
  #define HPWDT_MAX_TIMER			TICKS_TO_SECS(65535)
  #define DEFAULT_MARGIN			30
+static bool iLO5;
  static unsigned int soft_margin = DEFAULT_MARGIN;	/* in seconds */
  static unsigned int reload;			/* the computed soft_margin */
  static bool nowayout = WATCHDOG_NOWAYOUT;
@@ -121,7 +122,7 @@ static int hpwdt_pretimeout(unsigned int ulReason, struct pt_regs *regs)
  		"3. OA Forward Progress Log\n"
  		"4. iLO Event Log";
- if ((ulReason == NMI_UNKNOWN) && mynmi)
+	if (iLO5 && ulReason == NMI_UNKNOWN && mynmi)
  		return NMI_DONE;
if (allow_kdump)
@@ -279,6 +280,9 @@ static int hpwdt_init_one(struct pci_dev *dev,
  			", timer margin: %d seconds (nowayout=%d).\n",
  			HPWDT_VERSION, hpwdt_dev.timeout, nowayout);
+ if (dev->subsystem_vendor == PCI_VENDOR_ID_HP_3PAR)
+		iLO5 = 1;

Hyper-nitpick:
		iLO5 = true;

I have seen 0day warnings because of that, so it is useful to avoid bool/int
mixups.

Thanks,
Guenter

+
  	return 0;
error_wd_register:


--
To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux