MIPS: Branch straight to ll in mips_atomic_set()
Adjust the atomic loop in the MIPS_ATOMIC_SET operation of the sysmips system call to branch straight back to the linked load rather than jumping via a different subsection (whose purpose remains a mystery to me). Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/16150/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
4915e1b043
commit
203e090ade
|
@ -137,13 +137,9 @@ static inline int mips_atomic_set(unsigned long addr, unsigned long new)
|
|||
" move %[tmp], %[new] \n"
|
||||
"2: \n"
|
||||
user_sc("%[tmp]", "(%[addr])")
|
||||
" beqz %[tmp], 4f \n"
|
||||
" beqz %[tmp], 1b \n"
|
||||
"3: \n"
|
||||
" .insn \n"
|
||||
" .subsection 2 \n"
|
||||
"4: b 1b \n"
|
||||
" .previous \n"
|
||||
" \n"
|
||||
" .section .fixup,\"ax\" \n"
|
||||
"5: li %[err], %[efault] \n"
|
||||
" j 3b \n"
|
||||
|
|
Loading…
Reference in New Issue