sparc64: Use correct pt_regs in decode_access_size() error paths.

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2010-04-19 13:46:48 -07:00
parent 6c94b1ee0c
commit baa06775e2
1 changed files with 3 additions and 3 deletions

View File

@ -50,7 +50,7 @@ static inline enum direction decode_direction(unsigned int insn)
} }
/* 16 = double-word, 8 = extra-word, 4 = word, 2 = half-word */ /* 16 = double-word, 8 = extra-word, 4 = word, 2 = half-word */
static inline int decode_access_size(unsigned int insn) static inline int decode_access_size(struct pt_regs *regs, unsigned int insn)
{ {
unsigned int tmp; unsigned int tmp;
@ -66,7 +66,7 @@ static inline int decode_access_size(unsigned int insn)
return 2; return 2;
else { else {
printk("Impossible unaligned trap. insn=%08x\n", insn); printk("Impossible unaligned trap. insn=%08x\n", insn);
die_if_kernel("Byte sized unaligned access?!?!", current_thread_info()->kregs); die_if_kernel("Byte sized unaligned access?!?!", regs);
/* GCC should never warn that control reaches the end /* GCC should never warn that control reaches the end
* of this function without returning a value because * of this function without returning a value because
@ -286,7 +286,7 @@ static void log_unaligned(struct pt_regs *regs)
asmlinkage void kernel_unaligned_trap(struct pt_regs *regs, unsigned int insn) asmlinkage void kernel_unaligned_trap(struct pt_regs *regs, unsigned int insn)
{ {
enum direction dir = decode_direction(insn); enum direction dir = decode_direction(insn);
int size = decode_access_size(insn); int size = decode_access_size(regs, insn);
int orig_asi, asi; int orig_asi, asi;
current_thread_info()->kern_una_regs = regs; current_thread_info()->kern_una_regs = regs;