summaryrefslogtreecommitdiff
path: root/arch/blackfin/kernel
diff options
context:
space:
mode:
authorRobin Getz <robin.getz@analog.com>2007-11-15 10:10:48 +0300
committerBryan Wu <bryan.wu@analog.com>2007-11-15 10:10:48 +0300
commit6a3f0b460cea79f08683cef1862d686a887efd8c (patch)
tree4133b0e4e2af811cd96a4ee722f8453e07082266 /arch/blackfin/kernel
parent0954f70ab1ffd9ad945c88c11877a08baed311c7 (diff)
downloadlinux-6a3f0b460cea79f08683cef1862d686a887efd8c.tar.xz
Blackfin arch: fix bug cplbmgr.S does not exit properly on error condition
https://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=1685 Ensure that cache/protection is turned back on when we get a fault, and ensure that the initial population of the CPLB tables are correct - that kernel is locked in CPLB tables Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Diffstat (limited to 'arch/blackfin/kernel')
-rw-r--r--arch/blackfin/kernel/cplbinit.c4
-rw-r--r--arch/blackfin/kernel/traps.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/arch/blackfin/kernel/cplbinit.c b/arch/blackfin/kernel/cplbinit.c
index f2db6a5e2b5b..7392ac2d2c29 100644
--- a/arch/blackfin/kernel/cplbinit.c
+++ b/arch/blackfin/kernel/cplbinit.c
@@ -163,8 +163,8 @@ static struct cplb_desc cplb_data[] = {
static u16 __init lock_kernel_check(u32 start, u32 end)
{
- if ((start <= (u32) _stext && end >= (u32) _end)
- || (start >= (u32) _stext && end <= (u32) _end))
+ if ((end <= (u32) _end && end >= (u32)_stext) ||
+ (start <= (u32) _end && start >= (u32)_stext))
return IN_KERNEL;
return 0;
}
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c
index ce9981b5339b..fbdf999bd2b5 100644
--- a/arch/blackfin/kernel/traps.c
+++ b/arch/blackfin/kernel/traps.c
@@ -670,8 +670,8 @@ void dump_bfin_regs(struct pt_regs *fp, void *retaddr)
printk("\n");
} else
printk("\n" KERN_NOTICE
- "Cannot look at the [PC] for it is"
- " in unreadable memory - sorry\n");
+ "Cannot look at the [PC] <%p> for it is"
+ " in unreadable memory - sorry\n", retaddr);
printk(KERN_NOTICE "\n" KERN_NOTICE "SEQUENCER STATUS:\n");
printk(KERN_NOTICE " SEQSTAT: %08lx IPEND: %04lx SYSCFG: %04lx\n",