patch-2.2.0-pre6 linux/include/asm-arm/softirq.h
Next file: linux/include/asm-arm/spinlock.h
Previous file: linux/include/asm-arm/signal.h
Back to the patch index
Back to the overall index
- Lines: 25
- Date:
Thu Jan 7 15:51:33 1999
- Orig file:
v2.2.0-pre5/linux/include/asm-arm/softirq.h
- Orig date:
Tue Apr 14 14:29:25 1998
diff -u --recursive --new-file v2.2.0-pre5/linux/include/asm-arm/softirq.h linux/include/asm-arm/softirq.h
@@ -13,7 +13,7 @@
extern inline void init_bh(int nr, void (*routine)(void))
{
bh_base[nr] = routine;
- bh_mask_count[nr] = 0;
+ atomic_set(&bh_mask_count[nr], 0);
bh_mask |= 1 << nr;
}
@@ -58,13 +58,13 @@
extern inline void disable_bh(int nr)
{
bh_mask &= ~(1 << nr);
- bh_mask_count[nr]++;
+ atomic_inc(&bh_mask_count[nr]);
synchronize_bh();
}
extern inline void enable_bh(int nr)
{
- if (!--bh_mask_count[nr])
+ if (atomic_dec_and_test(&bh_mask_count[nr]))
bh_mask |= 1 << nr;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov