Message ID | 1244629275-24007-1-git-send-email-konrad@gaisler.com |
---|---|
State | Superseded |
Delegated to: | David Miller |
Headers | show |
diff --git a/arch/sparc/mm/fault_32.c b/arch/sparc/mm/fault_32.c index 12e447f..99c1e29 100644 --- a/arch/sparc/mm/fault_32.c +++ b/arch/sparc/mm/fault_32.c @@ -227,7 +227,14 @@ asmlinkage void do_sparc_fault(struct pt */ good_area: info.si_code = SEGV_ACCERR; - if(write) { + if (write +#ifdef CONFIG_SPARC_LEON + /* a hardware bug in the sparc-leon SRMMU makes icache + text_fault look as if writing in certain sparc-leon + versions */ + && !text_fault +#endif + ) { if(!(vma->vm_flags & VM_WRITE)) goto bad_area; } else {