airo: fix test for FLAG_RADIO_DOWN
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 5 Mar 2012 18:10:07 +0000 (21:10 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 6 Mar 2012 20:16:07 +0000 (15:16 -0500)
We should be doing a shift (1 << FLAG_RADIO_DOWN) here before testing
the flag.  As luck would have it, this test works almost correctly.
The current code tests for FLAG_RADIO_OFF instead of FLAG_RADIO_DOWN.

#define FLAG_RADIO_OFF  0       /* User disabling of MAC */
#define FLAG_RADIO_DOWN 1       /* ifup/ifdown disabling of MAC */

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/airo.c

index 1c008c61b95ce8113d8ad230ee4e48aad27992b7..ddc061dd150ce47438020f28424a7449e9ab66a5 100644 (file)
@@ -1869,7 +1869,7 @@ static int readStatsRid(struct airo_info*ai, StatsRid *sr, int rid, int lock)
 
 static void try_auto_wep(struct airo_info *ai)
 {
-       if (auto_wep && !(ai->flags & FLAG_RADIO_DOWN)) {
+       if (auto_wep && !test_bit(FLAG_RADIO_DOWN, &ai->flags)) {
                ai->expires = RUN_AT(3*HZ);
                wake_up_interruptible(&ai->thr_wait);
        }