On 04/20/2015 02:54 AM, Markos Chandras wrote:
Make it similar to the trylock and R10000_LLSC_WAR cases.
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
---
I can't find a reference on why this was different compared to the other
cases so I presume it was just an overlook in commit
2a31b03335e570dce5fdd082e0d71d48b2cb4290
I suspect you are correct. Although in practice, it doesn't matter.
We are doing a mask of the difference between the ticket and now serving
values. You would have to have more than 0x1fff (8191) CPUs in a system
to hit this limit.
That said, I think the patch is OK.
David Daney
---
arch/mips/include/asm/spinlock.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/mips/include/asm/spinlock.h b/arch/mips/include/asm/spinlock.h
index 1fca2e0793dc..cc771a21899d 100644
--- a/arch/mips/include/asm/spinlock.h
+++ b/arch/mips/include/asm/spinlock.h
@@ -109,7 +109,7 @@ static inline void arch_spin_lock(arch_spinlock_t *lock)
" subu %[ticket], %[my_ticket], %[ticket] \n"
"2: \n"
" .subsection 2 \n"
- "4: andi %[ticket], %[ticket], 0x1fff \n"
+ "4: andi %[ticket], %[ticket], 0xffff \n"
" sll %[ticket], 5 \n"
" \n"
"6: bnez %[ticket], 6b \n"