diff options
Diffstat (limited to 'drivers/net/sdla_fr.c')
-rw-r--r-- | drivers/net/sdla_fr.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/sdla_fr.c b/drivers/net/sdla_fr.c index 79a493c2c..d2dc0eb90 100644 --- a/drivers/net/sdla_fr.c +++ b/drivers/net/sdla_fr.c @@ -440,7 +440,7 @@ static int if_open (struct device* dev) if (dev->start) return -EBUSY /* only one open is allowed */ ; - if (set_bit(0, (void*)&card->wandev.critical)) + if (test_and_set_bit(0, (void*)&card->wandev.critical)) return -EAGAIN; ; if (!card->open_cnt) @@ -489,7 +489,7 @@ static int if_close (struct device* dev) fr_channel_t* chan = dev->priv; sdla_t* card = chan->card; - if (set_bit(0, (void*)&card->wandev.critical)) + if (test_and_set_bit(0, (void*)&card->wandev.critical)) return -EAGAIN; ; dev->start = 0; @@ -574,7 +574,7 @@ static int if_send (struct sk_buff* skb, struct device* dev) sdla_t* card = chan->card; int retry = 0; - if (set_bit(0, (void*)&card->wandev.critical)) + if (test_and_set_bit(0, (void*)&card->wandev.critical)) { #ifdef _DEBUG_ printk(KERN_INFO "%s: if_send() hit critical section!\n", @@ -584,7 +584,7 @@ static int if_send (struct sk_buff* skb, struct device* dev) return 1; } - if (set_bit(0, (void*)&dev->tbusy)) + if (test_and_set_bit(0, (void*)&dev->tbusy)) { #ifdef _DEBUG_ printk(KERN_INFO "%s: Tx collision on interface %s!\n", |