diff options
-rw-r--r-- | arch/blackfin/kernel/traps.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index aaddb724a5fb..ce9981b5339b 100644 --- a/arch/blackfin/kernel/traps.c +++ b/arch/blackfin/kernel/traps.c | |||
@@ -158,7 +158,7 @@ static void decode_address(char *buf, unsigned long address) | |||
158 | } | 158 | } |
159 | 159 | ||
160 | /* we were unable to find this address anywhere */ | 160 | /* we were unable to find this address anywhere */ |
161 | sprintf(buf, "[<0x%p>]", (void *)address); | 161 | sprintf(buf, "<0x%p> /* unknown address */", (void *)address); |
162 | 162 | ||
163 | done: | 163 | done: |
164 | write_unlock_irqrestore(&tasklist_lock, flags); | 164 | write_unlock_irqrestore(&tasklist_lock, flags); |
@@ -467,7 +467,8 @@ asmlinkage void trap_c(struct pt_regs *fp) | |||
467 | /* Ensure that bad return addresses don't end up in an infinite | 467 | /* Ensure that bad return addresses don't end up in an infinite |
468 | * loop, due to speculative loads/reads | 468 | * loop, due to speculative loads/reads |
469 | */ | 469 | */ |
470 | fp->pc = SAFE_USER_INSTRUCTION; | 470 | if (trapnr == VEC_CPLB_I_M) |
471 | fp->pc = SAFE_USER_INSTRUCTION; | ||
471 | } | 472 | } |
472 | info.si_signo = sig; | 473 | info.si_signo = sig; |
473 | info.si_errno = 0; | 474 | info.si_errno = 0; |