aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/kernel/cplb-mpu
diff options
context:
space:
mode:
authorYi Li <yi.li@analog.com>2009-08-20 00:17:47 -0400
committerMike Frysinger <vapier@gentoo.org>2009-09-16 22:10:32 -0400
commitb6dbde27dd95cc0397d9722ad8365fa93a07b0d3 (patch)
tree1743551be50d891228e8b2ea5d9ac0811d01355c /arch/blackfin/kernel/cplb-mpu
parent00dd66d012f944817a7d0cdcb0c8cb174e46937a (diff)
Blackfin: use raw_smp_processor_id() in exception code
When preempt debugging is enabled, smp_processor_id() may utilize the "current" structure. This may not be safe to access under all exceptions due to it being in dynamically allocated memory. So in exception code, make sure we use raw_smp_processor_id() instead to get at the real value directly. Signed-off-by: Yi Li <yi.li@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/blackfin/kernel/cplb-mpu')
-rw-r--r--arch/blackfin/kernel/cplb-mpu/cplbmgr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/blackfin/kernel/cplb-mpu/cplbmgr.c b/arch/blackfin/kernel/cplb-mpu/cplbmgr.c
index 651b12773e09..8e1e9e9e9632 100644
--- a/arch/blackfin/kernel/cplb-mpu/cplbmgr.c
+++ b/arch/blackfin/kernel/cplb-mpu/cplbmgr.c
@@ -280,7 +280,7 @@ static noinline int dcplb_protection_fault(unsigned int cpu)
280int cplb_hdr(int seqstat, struct pt_regs *regs) 280int cplb_hdr(int seqstat, struct pt_regs *regs)
281{ 281{
282 int cause = seqstat & 0x3f; 282 int cause = seqstat & 0x3f;
283 unsigned int cpu = smp_processor_id(); 283 unsigned int cpu = raw_smp_processor_id();
284 switch (cause) { 284 switch (cause) {
285 case 0x23: 285 case 0x23:
286 return dcplb_protection_fault(cpu); 286 return dcplb_protection_fault(cpu);