Do not copy STA VHT capabilities if VHT is not enabled for AP
authorAshok Raj Nagarajan <arnagara@qti.qualcomm.com>
Tue, 22 Sep 2015 13:56:00 +0000 (19:26 +0530)
committerJouni Malinen <j@w1.fi>
Wed, 23 Sep 2015 09:09:35 +0000 (12:09 +0300)
Previously, station's VHT information elements were copied and passed
regardless of the AP's VHT configuration. As a result, AP with VHT
disabled in configuration could have ended up transmitting packets in
VHT rates though AP is not advertising VHT support. Fix this by copying
the station's VHT capabilities only when AP supports VHT (both hardware
and configuration).

Signed-off-by: Ashok Raj Nagarajan <arnagara@qti.qualcomm.com>
src/ap/ieee802_11.c

index 19c6a12..7bb18c0 100644 (file)
@@ -1373,13 +1373,15 @@ static u16 check_assoc_ies(struct hostapd_data *hapd, struct sta_info *sta,
 #endif /* CONFIG_IEEE80211N */
 
 #ifdef CONFIG_IEEE80211AC
-       resp = copy_sta_vht_capab(hapd, sta, elems.vht_capabilities);
-       if (resp != WLAN_STATUS_SUCCESS)
-               return resp;
+       if (hapd->iconf->ieee80211ac) {
+               resp = copy_sta_vht_capab(hapd, sta, elems.vht_capabilities);
+               if (resp != WLAN_STATUS_SUCCESS)
+                       return resp;
 
-       resp = set_sta_vht_opmode(hapd, sta, elems.vht_opmode_notif);
-       if (resp != WLAN_STATUS_SUCCESS)
-               return resp;
+               resp = set_sta_vht_opmode(hapd, sta, elems.vht_opmode_notif);
+               if (resp != WLAN_STATUS_SUCCESS)
+                       return resp;
+       }
 
        if (hapd->iconf->ieee80211ac && hapd->iconf->require_vht &&
            !(sta->flags & WLAN_STA_VHT)) {