aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/traps.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2014-06-04 16:53:02 -0400
committerRalf Baechle <ralf@linux-mips.org>2014-06-04 16:53:02 -0400
commitf8647b506d7116a1a3accd8d618184096e85f50b (patch)
treef10bc7201fda2a36c035548a0ea62210ad57adb6 /arch/mips/kernel/traps.c
parent1d421ca9d7edbac1eb118631ee039d50ab54771e (diff)
parentf7a89f1b8eb598ac5da61c9795b3d847baa73d12 (diff)
Merge branch '3.15-fixes' into mips-for-linux-next
Diffstat (limited to 'arch/mips/kernel/traps.c')
-rw-r--r--arch/mips/kernel/traps.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index 1fd1a0c4f104..51706d6dd5b0 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -704,10 +704,12 @@ int process_fpemu_return(int sig, void __user *fault_addr)
704 si.si_addr = fault_addr; 704 si.si_addr = fault_addr;
705 si.si_signo = sig; 705 si.si_signo = sig;
706 if (sig == SIGSEGV) { 706 if (sig == SIGSEGV) {
707 down_read(&current->mm->mmap_sem);
707 if (find_vma(current->mm, (unsigned long)fault_addr)) 708 if (find_vma(current->mm, (unsigned long)fault_addr))
708 si.si_code = SEGV_ACCERR; 709 si.si_code = SEGV_ACCERR;
709 else 710 else
710 si.si_code = SEGV_MAPERR; 711 si.si_code = SEGV_MAPERR;
712 up_read(&current->mm->mmap_sem);
711 } else { 713 } else {
712 si.si_code = BUS_ADRERR; 714 si.si_code = BUS_ADRERR;
713 } 715 }
@@ -1537,7 +1539,7 @@ asmlinkage void cache_parity_error(void)
1537 reg_val & (1<<30) ? "secondary" : "primary", 1539 reg_val & (1<<30) ? "secondary" : "primary",
1538 reg_val & (1<<31) ? "data" : "insn"); 1540 reg_val & (1<<31) ? "data" : "insn");
1539 if (cpu_has_mips_r2 && 1541 if (cpu_has_mips_r2 &&
1540 ((current_cpu_data.processor_id && 0xff0000) == PRID_COMP_MIPS)) { 1542 ((current_cpu_data.processor_id & 0xff0000) == PRID_COMP_MIPS)) {
1541 pr_err("Error bits: %s%s%s%s%s%s%s%s\n", 1543 pr_err("Error bits: %s%s%s%s%s%s%s%s\n",
1542 reg_val & (1<<29) ? "ED " : "", 1544 reg_val & (1<<29) ? "ED " : "",
1543 reg_val & (1<<28) ? "ET " : "", 1545 reg_val & (1<<28) ? "ET " : "",
@@ -1577,7 +1579,7 @@ asmlinkage void do_ftlb(void)
1577 1579
1578 /* For the moment, report the problem and hang. */ 1580 /* For the moment, report the problem and hang. */
1579 if (cpu_has_mips_r2 && 1581 if (cpu_has_mips_r2 &&
1580 ((current_cpu_data.processor_id && 0xff0000) == PRID_COMP_MIPS)) { 1582 ((current_cpu_data.processor_id & 0xff0000) == PRID_COMP_MIPS)) {
1581 pr_err("FTLB error exception, cp0_ecc=0x%08x:\n", 1583 pr_err("FTLB error exception, cp0_ecc=0x%08x:\n",
1582 read_c0_ecc()); 1584 read_c0_ecc());
1583 pr_err("cp0_errorepc == %0*lx\n", field, read_c0_errorepc()); 1585 pr_err("cp0_errorepc == %0*lx\n", field, read_c0_errorepc());