summaryrefslogtreecommitdiffstats
path: root/arch/blackfin/kernel
diff options
context:
space:
mode:
authorRobin Getz <robin.getz@analog.com>2007-11-12 22:21:30 +0800
committerBryan Wu <bryan.wu@analog.com>2007-11-12 22:21:30 +0800
commitf26fbc48f130962fce15f37d079968f0f272e0c2 (patch)
treef92bda683343140b2ccf51b40c5dad71154b1595 /arch/blackfin/kernel
parent2ffbb8377c7a0713baf6644e285adc27a5654582 (diff)
downloadlinux-f26fbc48f130962fce15f37d079968f0f272e0c2.tar.bz2
Blackfin arch: ensure we work around ANOMALY_05000261 for null pointers
We currently do not. Also make it easier to handle cplb violations - in traps.c 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/traps.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c
index cfa05436c972..aaddb724a5fb 100644
--- a/arch/blackfin/kernel/traps.c
+++ b/arch/blackfin/kernel/traps.c
@@ -311,11 +311,10 @@ asmlinkage void trap_c(struct pt_regs *fp)
printk(KERN_NOTICE EXC_0x22);
CHK_DEBUGGER_TRAP();
break;
- /* 0x23 - Data CPLB Protection Violation,
- normal case is handled in _cplb_hdr */
+ /* 0x23 - Data CPLB protection violation, handled here */
case VEC_CPLB_VL:
info.si_code = ILL_CPLB_VI;
- sig = SIGILL;
+ sig = SIGBUS;
printk(KERN_NOTICE EXC_0x23);
CHK_DEBUGGER_TRAP();
break;
@@ -382,11 +381,10 @@ asmlinkage void trap_c(struct pt_regs *fp)
printk(KERN_NOTICE EXC_0x2A);
CHK_DEBUGGER_TRAP();
break;
- /* 0x2B - Instruction CPLB protection Violation,
- handled in _cplb_hdr */
+ /* 0x2B - Instruction CPLB protection violation, handled here */
case VEC_CPLB_I_VL:
info.si_code = ILL_CPLB_VI;
- sig = SIGILL;
+ sig = SIGBUS;
printk(KERN_NOTICE EXC_0x2B);
CHK_DEBUGGER_TRAP();
break;