patch-2.1.27 linux/include/linux/interrupt.h

Next file: linux/include/linux/ipv6_route.h
Previous file: linux/include/linux/if_tr.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.26/linux/include/linux/interrupt.h linux/include/linux/interrupt.h
@@ -4,6 +4,7 @@
 
 #include <linux/kernel.h>
 #include <asm/bitops.h>
+#include <asm/atomic.h>
 
 struct irqaction {
 	void (*handler)(int, void *, struct pt_regs *);
@@ -14,7 +15,7 @@
 	struct irqaction *next;
 };
 
-extern unsigned long intr_count;
+extern atomic_t intr_count;
 
 extern int bh_mask_count[32];
 extern unsigned long bh_active;
@@ -75,14 +76,14 @@
  */
 extern inline void start_bh_atomic(void)
 {
-	intr_count++;
+	atomic_inc(&intr_count);
 	barrier();
 }
 
 extern inline void end_bh_atomic(void)
 {
 	barrier();
-	intr_count--;
+	atomic_dec(&intr_count);
 }
 
 /*

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov