patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / include / asm-h8300 / hardirq.h
index ccab235..c0941a0 100644 (file)
@@ -75,7 +75,7 @@ typedef struct {
 #define irq_enter()            (preempt_count() += HARDIRQ_OFFSET)
 
 #ifdef CONFIG_PREEMPT
-# define in_atomic()   (preempt_count() != kernel_locked())
+# define in_atomic()   ((preempt_count() & ~PREEMPT_ACTIVE) != kernel_locked())
 # define IRQ_EXIT_OFFSET (HARDIRQ_OFFSET-1)
 #else
 # define in_atomic()   (preempt_count() != 0)