airo endianness bug: cap_rid.extSoftCap
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 20 Dec 2007 22:21:36 +0000 (17:21 -0500)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 23:08:51 +0000 (15:08 -0800)
never had been byteswapped, used as host-endian...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/airo.c

index 9d3f335..68c5e54 100644 (file)
@@ -3847,7 +3847,8 @@ static u16 setup_card(struct airo_info *ai, u8 *mac, int lock)
                ai->config.authType = AUTH_OPEN;
                ai->config.modulation = MOD_CCK;
 
-               if ((cap_rid.len>=sizeof(cap_rid)) && (cap_rid.extSoftCap&1) &&
+               if ((cap_rid.len>=sizeof(cap_rid)) &&
+                   (cap_rid.extSoftCap & cpu_to_le16(1)) &&
                    (micsetup(ai) == SUCCESS)) {
                        ai->config.opmode |= MODE_MIC;
                        set_bit(FLAG_MIC_CAPABLE, &ai->flags);