diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index 67fefb59d40e52e5b65fa47d5562ac1016d1c6b1..059e762e8995e4461871725d61f4b65f8e43a17b 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c @@ -216,7 +216,7 @@ int do_page_fault(struct pt_regs *regs, unsigned long address, * bits we are interested in. But there are some bits which * indicate errors in DSISR but can validly be set in SRR1. */ - if (trap == 0x400) + if (is_exec) error_code &= 0x48200000; else is_write = error_code & DSISR_ISSTORE;