|
@@ -113,19 +113,23 @@ static int hpwdt_my_nmi(void)
|
|
|
*/
|
|
|
static int hpwdt_pretimeout(unsigned int ulReason, struct pt_regs *regs)
|
|
|
{
|
|
|
- if ((ulReason == NMI_UNKNOWN) && !hpwdt_my_nmi())
|
|
|
+ unsigned int mynmi = hpwdt_my_nmi();
|
|
|
+ static char panic_msg[] =
|
|
|
+ "00: An NMI occurred. Depending on your system the reason "
|
|
|
+ "for the NMI is logged in any one of the following resources:\n"
|
|
|
+ "1. Integrated Management Log (IML)\n"
|
|
|
+ "2. OA Syslog\n"
|
|
|
+ "3. OA Forward Progress Log\n"
|
|
|
+ "4. iLO Event Log";
|
|
|
+
|
|
|
+ if ((ulReason == NMI_UNKNOWN) && mynmi)
|
|
|
return NMI_DONE;
|
|
|
|
|
|
if (allow_kdump)
|
|
|
hpwdt_stop();
|
|
|
|
|
|
- nmi_panic(regs, "An NMI occurred. Depending on your system the reason "
|
|
|
- "for the NMI is logged in any one of the following "
|
|
|
- "resources:\n"
|
|
|
- "1. Integrated Management Log (IML)\n"
|
|
|
- "2. OA Syslog\n"
|
|
|
- "3. OA Forward Progress Log\n"
|
|
|
- "4. iLO Event Log");
|
|
|
+ hex_byte_pack(panic_msg, mynmi);
|
|
|
+ nmi_panic(regs, panic_msg);
|
|
|
|
|
|
return NMI_HANDLED;
|
|
|
}
|