Index: sys/mips/include/atomic.h =================================================================== --- sys/mips/include/atomic.h +++ sys/mips/include/atomic.h @@ -398,13 +398,11 @@ int ret; __asm __volatile ( - "1:\n\t" "ll %0, %1\n\t" /* load old value */ "bne %0, %4, 2f\n\t" /* compare */ "move %0, %3\n\t" /* value to store */ "sc %0, %1\n\t" /* attempt to store */ - "beqz %0, 1b\n\t" /* if it failed, spin */ - "j 3f\n\t" + "j 3f\n\t" /* no spin on failure */ "2:\n\t" "sw %0, %2\n\t" /* save old value */ "li %0, 0\n\t" @@ -508,13 +506,11 @@ int ret; __asm __volatile ( - "1:\n\t" "lld %0, %1\n\t" /* load old value */ "bne %0, %4, 2f\n\t" /* compare */ "move %0, %3\n\t" /* value to store */ "scd %0, %1\n\t" /* attempt to store */ - "beqz %0, 1b\n\t" /* if it failed, spin */ - "j 3f\n\t" + "j 3f\n\t" /* no spin on failure */ "2:\n\t" "sd %0, %2\n\t" /* save old value */ "li %0, 0\n\t"