Yet another fix. bh_mask_count is an array of atomic_t, which
is a struct with a single int variable called counter. I assume this
patch is correct and is the original intent of the code.
-- DN (No, I still have no idea what I'm doing. But it compiles! <g>)
--- /usr/src/linux/include/asm-m68k/softirq.h Wed Sep 2 09:39:18 1998
+++ softirq.h Wed Dec 23 14:32:47 1998
@@ -13,7 +13,7 @@
extern inline void init_bh(int nr, void (*routine)(void))
{
bh_base[nr] = routine;
- bh_mask_count[nr] = 0;
+ bh_mask_count[nr].counter = 0;
bh_mask |= 1 << nr;
}
@@ -29,12 +29,12 @@
extern inline void disable_bh(int nr)
{
bh_mask &= ~(1 << nr);
- bh_mask_count[nr]++;
+ bh_mask_count[nr].counter++;
}
extern inline void enable_bh(int nr)
{
- if (!--bh_mask_count[nr])
+ if (!--bh_mask_count[nr].counter)
bh_mask |= 1 << nr;
}
-- -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS d- s--:+ a-->? C++(---) UL++++ US+++$ P- L+++ !E W-- N+++ !w M++$ V?>+++ PS--- PE++ t--(*) 5+ X+ R+(*) tv-- b+ DI+++ D--- G? e>++++ h* r++>+++ z+>++++ ------END GEEK CODE BLOCK------
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/