浏览代码

Fix one more case of computing the return EPC after the registers have
already been modified.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

Ralf Baechle 20 年之前
父节点
当前提交
05b8042ac6
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      arch/mips/kernel/traps.c

+ 1 - 1
arch/mips/kernel/traps.c

@@ -447,9 +447,9 @@ static inline void simulate_sc(struct pt_regs *regs, unsigned int opcode)
 	preempt_disable();
 	preempt_disable();
 
 
 	if (ll_bit == 0 || ll_task != current) {
 	if (ll_bit == 0 || ll_task != current) {
+		compute_return_epc(regs);
 		regs->regs[reg] = 0;
 		regs->regs[reg] = 0;
 		preempt_enable();
 		preempt_enable();
-		compute_return_epc(regs);
 		return;
 		return;
 	}
 	}