summaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2011-01-11 20:45:31 +0100
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2011-01-21 04:08:37 +0100
commita443506b8598bbd784cfe403ad1db2c7083ff465 (patch)
treeb561e390f350c149df8006120269227ad2de97cd /arch/powerpc
parentpowerpc: Print 32 bits of DSISR in show_regs (diff)
downloadlinux-a443506b8598bbd784cfe403ad1db2c7083ff465.tar.xz
linux-a443506b8598bbd784cfe403ad1db2c7083ff465.zip
powerpc: Don't force MSR_RI in machine_check_exception
We should never force MSR_RI on. If we take a machine check with MSR_RI off then we have no chance of recovering safely. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/kernel/traps.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 1b2cdc8eec90..6865002df6ce 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -627,7 +627,6 @@ void machine_check_exception(struct pt_regs *regs)
return;
if (user_mode(regs)) {
- regs->msr |= MSR_RI;
_exception(SIGBUS, regs, BUS_ADRERR, regs->nip);
return;
}
@@ -643,10 +642,8 @@ void machine_check_exception(struct pt_regs *regs)
return;
#endif
- if (debugger_fault_handler(regs)) {
- regs->msr |= MSR_RI;
+ if (debugger_fault_handler(regs))
return;
- }
if (check_io_access(regs))
return;