Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Upgrade to 4.4.50-rt62
[kvmfornfv.git]
/
kernel
/
arch
/
x86
/
kernel
/
nmi.c
diff --git
a/kernel/arch/x86/kernel/nmi.c
b/kernel/arch/x86/kernel/nmi.c
index
697f90d
..
424aec4
100644
(file)
--- a/
kernel/arch/x86/kernel/nmi.c
+++ b/
kernel/arch/x86/kernel/nmi.c
@@
-231,7
+231,7
@@
pci_serr_error(unsigned char reason, struct pt_regs *regs)
#endif
if (panic_on_unrecovered_nmi)
#endif
if (panic_on_unrecovered_nmi)
-
panic(
"NMI: Not continuing");
+
nmi_panic(regs,
"NMI: Not continuing");
pr_emerg("Dazed and confused, but trying to continue\n");
pr_emerg("Dazed and confused, but trying to continue\n");
@@
-255,8
+255,16
@@
io_check_error(unsigned char reason, struct pt_regs *regs)
reason, smp_processor_id());
show_regs(regs);
reason, smp_processor_id());
show_regs(regs);
- if (panic_on_io_nmi)
- panic("NMI IOCK error: Not continuing");
+ if (panic_on_io_nmi) {
+ nmi_panic(regs, "NMI IOCK error: Not continuing");
+
+ /*
+ * If we end up here, it means we have received an NMI while
+ * processing panic(). Simply return without delaying and
+ * re-enabling NMIs.
+ */
+ return;
+ }
/* Re-enable the IOCK line, wait for a few seconds */
reason = (reason & NMI_REASON_CLEAR_MASK) | NMI_REASON_CLEAR_IOCHK;
/* Re-enable the IOCK line, wait for a few seconds */
reason = (reason & NMI_REASON_CLEAR_MASK) | NMI_REASON_CLEAR_IOCHK;
@@
-297,7
+305,7
@@
unknown_nmi_error(unsigned char reason, struct pt_regs *regs)
pr_emerg("Do you have a strange power saving mode enabled?\n");
if (unknown_nmi_panic || panic_on_unrecovered_nmi)
pr_emerg("Do you have a strange power saving mode enabled?\n");
if (unknown_nmi_panic || panic_on_unrecovered_nmi)
-
panic(
"NMI: Not continuing");
+
nmi_panic(regs,
"NMI: Not continuing");
pr_emerg("Dazed and confused, but trying to continue\n");
}
pr_emerg("Dazed and confused, but trying to continue\n");
}