diff options
-rw-r--r-- | arch/ppc/kernel/traps.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/ppc/kernel/traps.c b/arch/ppc/kernel/traps.c index ed5c7acdca70..aec225b402ae 100644 --- a/arch/ppc/kernel/traps.c +++ b/arch/ppc/kernel/traps.c | |||
@@ -805,6 +805,13 @@ void AltivecAssistException(struct pt_regs *regs) | |||
805 | if (regs->msr & MSR_VEC) | 805 | if (regs->msr & MSR_VEC) |
806 | giveup_altivec(current); | 806 | giveup_altivec(current); |
807 | preempt_enable(); | 807 | preempt_enable(); |
808 | if (!user_mode(regs)) { | ||
809 | printk(KERN_ERR "altivec assist exception in kernel mode" | ||
810 | " at %lx\n", regs->nip); | ||
811 | debugger(regs); | ||
812 | die("altivec assist exception", regs, SIGFPE); | ||
813 | return; | ||
814 | } | ||
808 | 815 | ||
809 | err = emulate_altivec(regs); | 816 | err = emulate_altivec(regs); |
810 | if (err == 0) { | 817 | if (err == 0) { |