diff options
author | Yi Li <yi.li@analog.com> | 2009-08-20 04:17:47 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-09-16 22:10:32 -0400 |
commit | b6dbde27dd95cc0397d9722ad8365fa93a07b0d3 (patch) | |
tree | 1743551be50d891228e8b2ea5d9ac0811d01355c /arch/blackfin/kernel/cplb-mpu | |
parent | 00dd66d012f944817a7d0cdcb0c8cb174e46937a (diff) | |
download | linux-stable-b6dbde27dd95cc0397d9722ad8365fa93a07b0d3.tar.gz linux-stable-b6dbde27dd95cc0397d9722ad8365fa93a07b0d3.tar.bz2 linux-stable-b6dbde27dd95cc0397d9722ad8365fa93a07b0d3.zip |
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.c | 2 |
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) int cplb_hdr(int seqstat, struct pt_regs *regs) { int cause = seqstat & 0x3f; - unsigned int cpu = smp_processor_id(); + unsigned int cpu = raw_smp_processor_id(); switch (cause) { case 0x23: return dcplb_protection_fault(cpu); |