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 1b2cdc8eec90..bd74fac169be 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 */ | 
