Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/include/linux/hardirq.h |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN include/linux/hardirq.h~preempt-cleanup-fix include/linux/hardirq.h
--- 25/include/linux/hardirq.h~preempt-cleanup-fix	2004-09-15 00:33:12.614649504 -0700
+++ 25-akpm/include/linux/hardirq.h	2004-09-15 00:33:34.514320248 -0700
@@ -32,7 +32,7 @@
 # define preemptible()	(preempt_count() == 0 && !irqs_disabled())
 # define IRQ_EXIT_OFFSET (HARDIRQ_OFFSET-1)
 #else
-# define in_atomic()	(preempt_count() != 0)
+# define in_atomic()	((preempt_count() & ~PREEMPT_ACTIVE) != 0)
 # define preemptible()	0
 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 #endif
_