diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/i386/kernel/traps.c | 6 | ||||
-rw-r--r-- | arch/x86_64/kernel/traps.c | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c index 7db664d0b25..2f6cb827648 100644 --- a/arch/i386/kernel/traps.c +++ b/arch/i386/kernel/traps.c | |||
@@ -635,6 +635,8 @@ static void mem_parity_error(unsigned char reason, struct pt_regs * regs) | |||
635 | "to continue\n"); | 635 | "to continue\n"); |
636 | printk(KERN_EMERG "You probably have a hardware problem with your RAM " | 636 | printk(KERN_EMERG "You probably have a hardware problem with your RAM " |
637 | "chips\n"); | 637 | "chips\n"); |
638 | if (panic_on_unrecovered_nmi) | ||
639 | panic("NMI: Not continuing"); | ||
638 | 640 | ||
639 | /* Clear and disable the memory parity error line. */ | 641 | /* Clear and disable the memory parity error line. */ |
640 | clear_mem_error(reason); | 642 | clear_mem_error(reason); |
@@ -670,6 +672,10 @@ static void unknown_nmi_error(unsigned char reason, struct pt_regs * regs) | |||
670 | reason, smp_processor_id()); | 672 | reason, smp_processor_id()); |
671 | printk("Dazed and confused, but trying to continue\n"); | 673 | printk("Dazed and confused, but trying to continue\n"); |
672 | printk("Do you have a strange power saving mode enabled?\n"); | 674 | printk("Do you have a strange power saving mode enabled?\n"); |
675 | |||
676 | if (panic_on_unrecovered_nmi) | ||
677 | panic("NMI: Not continuing"); | ||
678 | |||
673 | } | 679 | } |
674 | 680 | ||
675 | static DEFINE_SPINLOCK(nmi_print_lock); | 681 | static DEFINE_SPINLOCK(nmi_print_lock); |
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c index 42bc070fdf1..b18829db2a6 100644 --- a/arch/x86_64/kernel/traps.c +++ b/arch/x86_64/kernel/traps.c | |||
@@ -732,6 +732,8 @@ mem_parity_error(unsigned char reason, struct pt_regs * regs) | |||
732 | { | 732 | { |
733 | printk("Uhhuh. NMI received. Dazed and confused, but trying to continue\n"); | 733 | printk("Uhhuh. NMI received. Dazed and confused, but trying to continue\n"); |
734 | printk("You probably have a hardware problem with your RAM chips\n"); | 734 | printk("You probably have a hardware problem with your RAM chips\n"); |
735 | if (panic_on_unrecovered_nmi) | ||
736 | panic("NMI: Not continuing"); | ||
735 | 737 | ||
736 | /* Clear and disable the memory parity error line. */ | 738 | /* Clear and disable the memory parity error line. */ |
737 | reason = (reason & 0xf) | 4; | 739 | reason = (reason & 0xf) | 4; |
@@ -757,6 +759,10 @@ unknown_nmi_error(unsigned char reason, struct pt_regs * regs) | |||
757 | { printk("Uhhuh. NMI received for unknown reason %02x.\n", reason); | 759 | { printk("Uhhuh. NMI received for unknown reason %02x.\n", reason); |
758 | printk("Dazed and confused, but trying to continue\n"); | 760 | printk("Dazed and confused, but trying to continue\n"); |
759 | printk("Do you have a strange power saving mode enabled?\n"); | 761 | printk("Do you have a strange power saving mode enabled?\n"); |
762 | |||
763 | if (panic_on_unrecovered_nmi) | ||
764 | panic("NMI: Not continuing"); | ||
765 | |||
760 | } | 766 | } |
761 | 767 | ||
762 | /* Runs on IST stack. This code must keep interrupts off all the time. | 768 | /* Runs on IST stack. This code must keep interrupts off all the time. |