Title: [8280] trunk/arch/blackfin/kernel/traps.c: Task [#5545], restore the code that reverted by my previsous commit
- Revision
- 8280
- Author
- gyang
- Date
- 2010-02-08 06:51:30 -0500 (Mon, 08 Feb 2010)
Log Message
Task [#5545], restore the code that reverted by my previsous commit
Modified Paths
Diff
Modified: trunk/arch/blackfin/kernel/traps.c (8279 => 8280)
--- trunk/arch/blackfin/kernel/traps.c 2010-02-08 11:38:42 UTC (rev 8279)
+++ trunk/arch/blackfin/kernel/traps.c 2010-02-08 11:51:30 UTC (rev 8280)
@@ -184,7 +184,6 @@
name, vma->vm_start, vma->vm_end);
up_read(&mm->mmap_sem);
-
if (!in_atomic)
mmput(mm);
@@ -194,8 +193,8 @@
goto done;
}
}
+
up_read(&mm->mmap_sem);
-
if (!in_atomic)
mmput(mm);
}
@@ -261,9 +260,7 @@
#ifdef CONFIG_DEBUG_BFIN_HWTRACE_ON
int j;
#endif
-#ifdef CONFIG_DEBUG_HUNT_FOR_ZERO
unsigned int cpu = raw_smp_processor_id();
-#endif
const char *strerror = NULL;
int sig = 0;
siginfo_t info;
@@ -652,7 +649,17 @@
{
info.si_signo = sig;
info.si_errno = 0;
- info.si_addr = (void __user *)fp->pc;
+ switch (trapnr) {
+ case VEC_CPLB_VL:
+ case VEC_MISALI_D:
+ case VEC_CPLB_M:
+ case VEC_CPLB_MHIT:
+ info.si_addr = (void __user *)cpu_pda[cpu].dcplb_fault_addr;
+ break;
+ default:
+ info.si_addr = (void __user *)fp->pc;
+ break;
+ }
force_sig_info(sig, &info, current);
}
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits