aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mlme.c
diff options
context:
space:
mode:
authorVasanthakumar Thiagarajan <vasanth@atheros.com>2009-02-11 11:48:49 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-02-27 14:51:39 -0500
commit53d6f81c7814690ba096584c733e5deaa34fdd8a (patch)
tree5ede985bff803ecd6d0f5246bcd55c0d35304221 /net/mac80211/mlme.c
parentf5ac2b9eb58f5efad83f2d0e7fa464e8980ecfc9 (diff)
mac80211: Make sure non-HT connection when IEEE80211_STA_TKIP_WEP_USED is set
It is possible that some broken AP might send HT IEs in it's assoc response even though the STA has not sent them in assoc req when WEP/TKIP is used as pairwise cipher suite. Also it is important to check this bit before enabling ht mode in beacon receive path. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r--net/mac80211/mlme.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index fbb766afe599..bf872cbba096 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -1528,7 +1528,8 @@ static void ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
1528 elems.wmm_param_len); 1528 elems.wmm_param_len);
1529 1529
1530 if (elems.ht_info_elem && elems.wmm_param && 1530 if (elems.ht_info_elem && elems.wmm_param &&
1531 (ifsta->flags & IEEE80211_STA_WMM_ENABLED)) 1531 (ifsta->flags & IEEE80211_STA_WMM_ENABLED) &&
1532 !(ifsta->flags & IEEE80211_STA_TKIP_WEP_USED))
1532 changed |= ieee80211_enable_ht(sdata, elems.ht_info_elem, 1533 changed |= ieee80211_enable_ht(sdata, elems.ht_info_elem,
1533 ap_ht_cap_flags); 1534 ap_ht_cap_flags);
1534 1535
@@ -1954,7 +1955,8 @@ static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata,
1954 erp_valid, erp_value); 1955 erp_valid, erp_value);
1955 1956
1956 1957
1957 if (elems.ht_cap_elem && elems.ht_info_elem && elems.wmm_param) { 1958 if (elems.ht_cap_elem && elems.ht_info_elem && elems.wmm_param &&
1959 !(ifsta->flags & IEEE80211_STA_TKIP_WEP_USED)) {
1958 struct sta_info *sta; 1960 struct sta_info *sta;
1959 struct ieee80211_supported_band *sband; 1961 struct ieee80211_supported_band *sband;
1960 u16 ap_ht_cap_flags; 1962 u16 ap_ht_cap_flags;