diff options
author | Robin Getz <robin.getz@analog.com> | 2007-10-09 05:28:36 -0400 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2007-10-09 05:28:36 -0400 |
commit | ce3afa1c043ab3d4125671441a57353d80f5f6f7 (patch) | |
tree | a6d2d85c7380eab7e28a456cef0af2a271f1c32d /arch/blackfin/kernel/traps.c | |
parent | 2ebcade590dcf822dcdadcc4f8f68efd3ff2e217 (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.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index ba68eb2ec929..8823e9ade584 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 |