Merge branch 'vhost-net' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[pandora-kernel.git] / include / asm-generic / atomic.h
index 058129e..e53347f 100644 (file)
@@ -57,11 +57,11 @@ static inline int atomic_add_return(int i, atomic_t *v)
        unsigned long flags;
        int temp;
 
-       local_irq_save(flags);
+       raw_local_irq_save(flags); /* Don't trace it in a irqsoff handler */
        temp = v->counter;
        temp += i;
        v->counter = temp;
-       local_irq_restore(flags);
+       raw_local_irq_restore(flags);
 
        return temp;
 }
@@ -78,11 +78,11 @@ static inline int atomic_sub_return(int i, atomic_t *v)
        unsigned long flags;
        int temp;
 
-       local_irq_save(flags);
+       raw_local_irq_save(flags); /* Don't trace it in a irqsoff handler */
        temp = v->counter;
        temp -= i;
        v->counter = temp;
-       local_irq_restore(flags);
+       raw_local_irq_restore(flags);
 
        return temp;
 }
@@ -135,9 +135,9 @@ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr)
        unsigned long flags;
 
        mask = ~mask;
-       local_irq_save(flags);
+       raw_local_irq_save(flags); /* Don't trace it in a irqsoff handler */
        *addr &= mask;
-       local_irq_restore(flags);
+       raw_local_irq_restore(flags);
 }
 
 #define atomic_xchg(ptr, v)            (xchg(&(ptr)->counter, (v)))