> diff --git a/include/linux/bit_spinlock.h b/include/linux/bit_spinlock.h
> index 3b5bafc..695743c 100644
> --- a/include/linux/bit_spinlock.h
> +++ b/include/linux/bit_spinlock.h
> @@ -25,9 +25,8 @@ static inline void bit_spin_lock(int bitnum, unsigned long 
> *addr)
>  #if defined(CONFIG_SMP) || defined(CONFIG_DEBUG_SPINLOCK)
>       while (unlikely(test_and_set_bit_lock(bitnum, addr))) {
>               preempt_enable();
> -             do {
> -                     cpu_relax();
> -             } while (test_bit(bitnum, addr));
> +             spin_do {
> +             } spin_while (test_bit(bitnum, addr));
>               preempt_disable();
>       }
>  #endif

That usage is strange, with nothing in the do{ }while loop. May be add a
macro for usages like this ?

-aneesh

Reply via email to