atomic_inc_and_test is defined:
static __inline__ int atomic_inc_and_test(atomic_t *v)
{
unsigned char c;

__asm__ __volatile__(
LOCK_PREFIX "incl %0; sete %1"
:"+m" (v->counter), "=qm" (c)
: : "memory");
return c != 0;
}

if local interrupt is occur afert order "incl %0", is it a bug or error.