The current atomic.h says this is not implemented for mips... would this work - modeled after the rest of the atomic_blah_and_test ? /* * atomic_add_negative - add and test if negative * @v: pointer of type atomic_t * @i: integer value to add * * Atomically adds @i to @v and returns true * if the result is negative, or false when * result is greater than or equal to zero. Note that the guaranteed * useful range of an atomic_t is only 24 bits. */ #define atomic_add_negative(i,v) (atomic_add_return(i, (v)) < 0)