|
@@ -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;
|
|
@@ -120,7 +121,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)
|
|
@@ -277,6 +278,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 = true;
|
|
|
+
|
|
|
return 0;
|
|
|
|
|
|
error_wd_register:
|