netdev
[Top] [All Lists]

[PATCH 2.6] airo.c set_bit bug

To: Javier Achirica <achirica@xxxxxxx>, Jeff Garzik <jgarzik@xxxxxxxxx>, netdev@xxxxxxxxxxx
Subject: [PATCH 2.6] airo.c set_bit bug
From: Jean Tourrilhes <jt@xxxxxxxxxxxxxxxxxx>
Date: Thu, 22 Jul 2004 17:21:14 -0700
Address: HP Labs, 1U-17, 1501 Page Mill road, Palo Alto, CA 94304, USA.
E-mail: jt@xxxxxxxxxx
Organisation: HP Labs Palo Alto
Reply-to: jt@xxxxxxxxxx
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.3.28i
        Hi Javier,

        Managed to find a bug in the usage of set_bit/clear_bit in the
airo driver. I'm not sure if I caught all occurence of this pattern,
and not sure about exact consequences of the bug, but we might as well
fix it...
        Patch below...

        Have fun...

        Jean

--------------------------------------------------------

--- linux/drivers/net/wireless/airo.j1.c        Thu Jul 22 15:27:48 2004
+++ linux/drivers/net/wireless/airo.c   Thu Jul 22 15:29:11 2004
@@ -1808,7 +1808,8 @@ static int writeConfigRid(struct airo_in
        if (!test_bit (FLAG_COMMIT, &ai->flags))
                return SUCCESS;
 
-       clear_bit (FLAG_COMMIT | FLAG_RESET, &ai->flags);
+       clear_bit (FLAG_COMMIT, &ai->flags);
+       clear_bit (FLAG_RESET, &ai->flags);
        checkThrottle(ai);
        cfgr = ai->config;
 
@@ -6158,7 +6159,8 @@ static int airo_set_txpow(struct net_dev
        readCapabilityRid(local, &cap_rid);
 
        if (vwrq->disabled) {
-               set_bit (FLAG_RADIO_OFF | FLAG_COMMIT, &local->flags);
+               set_bit (FLAG_RADIO_OFF, &local->flags);
+               set_bit (FLAG_COMMIT, &local->flags);
                return -EINPROGRESS;            /* Call commit handler */
        }
        if (vwrq->flags != IW_TXPOW_MWATT) {

<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH 2.6] airo.c set_bit bug, Jean Tourrilhes <=