aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/kernel/traps.c
diff options
context:
space:
mode:
authorRobin Getz <robin.getz@analog.com>2007-10-09 05:28:36 -0400
committerBryan Wu <bryan.wu@analog.com>2007-10-09 05:28:36 -0400
commitce3afa1c043ab3d4125671441a57353d80f5f6f7 (patch)
treea6d2d85c7380eab7e28a456cef0af2a271f1c32d /arch/blackfin/kernel/traps.c
parent2ebcade590dcf822dcdadcc4f8f68efd3ff2e217 (diff)
Blackfin arch: Enable earlyprintk earlier - so any error after our interrupt tables are set up will print out
Also ensure that the traps_c code doesn't cause a double fault, by sending a signal to a faulting kernel before the memory subsystem is fully initialized, by printing out the error message before sending the signal. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Diffstat (limited to 'arch/blackfin/kernel/traps.c')
-rw-r--r--arch/blackfin/kernel/traps.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c
index ba68eb2ec92..8823e9ade58 100644
--- a/arch/blackfin/kernel/traps.c
+++ b/arch/blackfin/kernel/traps.c
@@ -402,10 +402,6 @@ asmlinkage void trap_c(struct pt_regs *fp)
402 break; 402 break;
403 } 403 }
404 404
405 info.si_signo = sig;
406 info.si_errno = 0;
407 info.si_addr = (void *)fp->pc;
408 force_sig_info(sig, &info, current);
409 if (sig != 0 && sig != SIGTRAP) { 405 if (sig != 0 && sig != SIGTRAP) {
410 unsigned long stack; 406 unsigned long stack;
411 dump_bfin_regs(fp, (void *)fp->retx); 407 dump_bfin_regs(fp, (void *)fp->retx);
@@ -414,6 +410,10 @@ asmlinkage void trap_c(struct pt_regs *fp)
414 if (current->mm == NULL) 410 if (current->mm == NULL)
415 panic("Kernel exception"); 411 panic("Kernel exception");
416 } 412 }
413 info.si_signo = sig;
414 info.si_errno = 0;
415 info.si_addr = (void *)fp->pc;
416 force_sig_info(sig, &info, current);
417 417
418 /* if the address that we are about to return to is not valid, set it 418 /* if the address that we are about to return to is not valid, set it
419 * to a valid address, if we have a current application or panic 419 * to a valid address, if we have a current application or panic