diff options
Diffstat (limited to 'arch/powerpc/kernel/traps.c')
-rw-r--r-- | arch/powerpc/kernel/traps.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index 1b2cdc8eec9..bd74fac169b 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c | |||
@@ -626,12 +626,6 @@ void machine_check_exception(struct pt_regs *regs) | |||
626 | if (recover > 0) | 626 | if (recover > 0) |
627 | return; | 627 | return; |
628 | 628 | ||
629 | if (user_mode(regs)) { | ||
630 | regs->msr |= MSR_RI; | ||
631 | _exception(SIGBUS, regs, BUS_ADRERR, regs->nip); | ||
632 | return; | ||
633 | } | ||
634 | |||
635 | #if defined(CONFIG_8xx) && defined(CONFIG_PCI) | 629 | #if defined(CONFIG_8xx) && defined(CONFIG_PCI) |
636 | /* the qspan pci read routines can cause machine checks -- Cort | 630 | /* the qspan pci read routines can cause machine checks -- Cort |
637 | * | 631 | * |
@@ -643,16 +637,12 @@ void machine_check_exception(struct pt_regs *regs) | |||
643 | return; | 637 | return; |
644 | #endif | 638 | #endif |
645 | 639 | ||
646 | if (debugger_fault_handler(regs)) { | 640 | if (debugger_fault_handler(regs)) |
647 | regs->msr |= MSR_RI; | ||
648 | return; | 641 | return; |
649 | } | ||
650 | 642 | ||
651 | if (check_io_access(regs)) | 643 | if (check_io_access(regs)) |
652 | return; | 644 | return; |
653 | 645 | ||
654 | if (debugger_fault_handler(regs)) | ||
655 | return; | ||
656 | die("Machine check", regs, SIGBUS); | 646 | die("Machine check", regs, SIGBUS); |
657 | 647 | ||
658 | /* Must die if the interrupt is not recoverable */ | 648 | /* Must die if the interrupt is not recoverable */ |