diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-02-23 08:17:28 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-02-23 08:17:28 +0100 |
commit | 66a101dda6b26ee566aa9cadcbea904a41d2b268 (patch) | |
tree | e03b5d40b7b88bb0a2f432bceba4680086d6d3a1 /arch/sparc/kernel/unaligned_64.c | |
parent | b1a0aac05f044e78a589bfd7a9e2334aa640eb45 (diff) | |
parent | 28b7e343ee63454d563a71d2d5f769fc297fd5ad (diff) |
Merge branch 'topic/hwdep-cleanup' into topic/hdsp
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 f164d5a850f..379209982a0 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 unsigned long pc = regs->tpc; unsigned long tstate = regs->tstate; u32 insn; - u32 first, second; u64 value; u8 freg; int flag; @@ -601,19 +600,20 @@ void handle_lddfmna(struct pt_regs *regs, unsigned long sfar, unsigned long sfsr pc = (u32)pc; if (get_user(insn, (u32 __user *) pc) != -EFAULT) { int asi = decode_asi(insn, regs); + u32 first, second; int err; if ((asi > ASI_SNFL) || (asi < ASI_P)) goto daex; + first = second = 0; err = get_user(first, (u32 __user *)sfar); if (!err) err = get_user(second, (u32 __user *)(sfar + 4)); if (err) { - if (asi & 0x2) /* NF */ { - first = 0; second = 0; - } else + if (!(asi & 0x2)) goto daex; + first = second = 0; } save_and_clear_fpu(); freg = ((insn >> 25) & 0x1e) | ((insn >> 20) & 0x20); |