mac80211: Populate HT limitation with TKIP/WEP to the handler for SIOCSIWENCODE too
authorVasanthakumar Thiagarajan <vasanth@atheros.com>
Fri, 13 Mar 2009 14:56:52 +0000 (20:26 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Sat, 28 Mar 2009 00:12:52 +0000 (20:12 -0400)
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/wext.c

index 935c63ed3dfae554e52cc2563a13588aec4fccff..e55d2834764c5f528ca10ea0626a019316074ba4 100644 (file)
@@ -630,7 +630,7 @@ static int ieee80211_ioctl_siwencode(struct net_device *dev,
        struct ieee80211_sub_if_data *sdata;
        int idx, i, alg = ALG_WEP;
        u8 bcaddr[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
-       int remove = 0;
+       int remove = 0, ret;
 
        sdata = IEEE80211_DEV_TO_SUB_IF(dev);
 
@@ -656,11 +656,20 @@ static int ieee80211_ioctl_siwencode(struct net_device *dev,
                return 0;
        }
 
-       return ieee80211_set_encryption(
+       ret = ieee80211_set_encryption(
                sdata, bcaddr,
                idx, alg, remove,
                !sdata->default_key,
                keybuf, erq->length);
+
+       if (!ret) {
+               if (remove)
+                       sdata->u.mgd.flags &= ~IEEE80211_STA_TKIP_WEP_USED;
+               else
+                       sdata->u.mgd.flags |= IEEE80211_STA_TKIP_WEP_USED;
+       }
+
+       return ret;
 }