|
@@ -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
|
|
* bits we are interested in. But there are some bits which
|
|
|
* indicate errors in DSISR but can validly be set in SRR1.
|
|
* indicate errors in DSISR but can validly be set in SRR1.
|
|
|
*/
|
|
*/
|
|
|
- if (trap == 0x400)
|
|
|
|
|
|
|
+ if (is_exec)
|
|
|
error_code &= 0x48200000;
|
|
error_code &= 0x48200000;
|
|
|
else
|
|
else
|
|
|
is_write = error_code & DSISR_ISSTORE;
|
|
is_write = error_code & DSISR_ISSTORE;
|