*/
 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;
 }