diff options
Diffstat (limited to 'arch/sh/kernel/traps_32.c')
-rw-r--r-- | arch/sh/kernel/traps_32.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/sh/kernel/traps_32.c b/arch/sh/kernel/traps_32.c index 862667a341fd..35b901ed6de3 100644 --- a/arch/sh/kernel/traps_32.c +++ b/arch/sh/kernel/traps_32.c | |||
@@ -742,15 +742,13 @@ asmlinkage void do_illegal_slot_inst(unsigned long r4, unsigned long r5, | |||
742 | struct pt_regs __regs) | 742 | struct pt_regs __regs) |
743 | { | 743 | { |
744 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); | 744 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); |
745 | unsigned long error_code; | 745 | unsigned long inst; |
746 | struct task_struct *tsk = current; | 746 | struct task_struct *tsk = current; |
747 | 747 | ||
748 | if (kprobe_handle_illslot(regs->pc) == 0) | 748 | if (kprobe_handle_illslot(regs->pc) == 0) |
749 | return; | 749 | return; |
750 | 750 | ||
751 | #ifdef CONFIG_SH_FPU_EMU | 751 | #ifdef CONFIG_SH_FPU_EMU |
752 | unsigned short inst = 0; | ||
753 | |||
754 | get_user(inst, (unsigned short *)regs->pc + 1); | 752 | get_user(inst, (unsigned short *)regs->pc + 1); |
755 | if (!do_fpu_inst(inst, regs)) { | 753 | if (!do_fpu_inst(inst, regs)) { |
756 | get_user(inst, (unsigned short *)regs->pc); | 754 | get_user(inst, (unsigned short *)regs->pc); |
@@ -761,12 +759,12 @@ asmlinkage void do_illegal_slot_inst(unsigned long r4, unsigned long r5, | |||
761 | /* not a FPU inst. */ | 759 | /* not a FPU inst. */ |
762 | #endif | 760 | #endif |
763 | 761 | ||
764 | lookup_exception_vector(error_code); | 762 | lookup_exception_vector(inst); |
765 | 763 | ||
766 | local_irq_enable(); | 764 | local_irq_enable(); |
767 | CHK_REMOTE_DEBUG(regs); | 765 | CHK_REMOTE_DEBUG(regs); |
768 | force_sig(SIGILL, tsk); | 766 | force_sig(SIGILL, tsk); |
769 | die_if_no_fixup("illegal slot instruction", regs, error_code); | 767 | die_if_no_fixup("illegal slot instruction", regs, inst); |
770 | } | 768 | } |
771 | 769 | ||
772 | asmlinkage void do_exception_error(unsigned long r4, unsigned long r5, | 770 | asmlinkage void do_exception_error(unsigned long r4, unsigned long r5, |