diff options
Diffstat (limited to 'arch/sparc/kernel/unaligned_64.c')
| -rw-r--r-- | arch/sparc/kernel/unaligned_64.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/sparc/kernel/unaligned_64.c b/arch/sparc/kernel/unaligned_64.c index f164d5a850f9..379209982a07 100644 --- a/arch/sparc/kernel/unaligned_64.c +++ b/arch/sparc/kernel/unaligned_64.c | |||
| @@ -589,7 +589,6 @@ void handle_lddfmna(struct pt_regs *regs, unsigned long sfar, unsigned long sfsr | |||
| 589 | unsigned long pc = regs->tpc; | 589 | unsigned long pc = regs->tpc; |
| 590 | unsigned long tstate = regs->tstate; | 590 | unsigned long tstate = regs->tstate; |
| 591 | u32 insn; | 591 | u32 insn; |
| 592 | u32 first, second; | ||
| 593 | u64 value; | 592 | u64 value; |
| 594 | u8 freg; | 593 | u8 freg; |
| 595 | int flag; | 594 | int flag; |
| @@ -601,19 +600,20 @@ void handle_lddfmna(struct pt_regs *regs, unsigned long sfar, unsigned long sfsr | |||
| 601 | pc = (u32)pc; | 600 | pc = (u32)pc; |
| 602 | if (get_user(insn, (u32 __user *) pc) != -EFAULT) { | 601 | if (get_user(insn, (u32 __user *) pc) != -EFAULT) { |
| 603 | int asi = decode_asi(insn, regs); | 602 | int asi = decode_asi(insn, regs); |
| 603 | u32 first, second; | ||
| 604 | int err; | 604 | int err; |
| 605 | 605 | ||
| 606 | if ((asi > ASI_SNFL) || | 606 | if ((asi > ASI_SNFL) || |
| 607 | (asi < ASI_P)) | 607 | (asi < ASI_P)) |
| 608 | goto daex; | 608 | goto daex; |
| 609 | first = second = 0; | ||
| 609 | err = get_user(first, (u32 __user *)sfar); | 610 | err = get_user(first, (u32 __user *)sfar); |
| 610 | if (!err) | 611 | if (!err) |
| 611 | err = get_user(second, (u32 __user *)(sfar + 4)); | 612 | err = get_user(second, (u32 __user *)(sfar + 4)); |
| 612 | if (err) { | 613 | if (err) { |
| 613 | if (asi & 0x2) /* NF */ { | 614 | if (!(asi & 0x2)) |
| 614 | first = 0; second = 0; | ||
| 615 | } else | ||
| 616 | goto daex; | 615 | goto daex; |
| 616 | first = second = 0; | ||
| 617 | } | 617 | } |
| 618 | save_and_clear_fpu(); | 618 | save_and_clear_fpu(); |
| 619 | freg = ((insn >> 25) & 0x1e) | ((insn >> 20) & 0x20); | 619 | freg = ((insn >> 25) & 0x1e) | ((insn >> 20) & 0x20); |
