aboutsummaryrefslogtreecommitdiffstats
path: root/src/ap/ieee802_11_ht.c
diff options
context:
space:
mode:
authorIlan Peer <ilan.peer@intel.com>2015-03-24 07:40:06 (GMT)
committerJouni Malinen <j@w1.fi>2015-03-25 13:02:58 (GMT)
commit54d3dc918409ba948709fee9aa9edd895356810c (patch)
tree81569c787a665288bbedb6a5b754ec6013bc6523 /src/ap/ieee802_11_ht.c
parentc41d0840a1ae4d755c525b091a4bf9d740efdb5f (diff)
downloadhostap-54d3dc918409ba948709fee9aa9edd895356810c.zip
hostap-54d3dc918409ba948709fee9aa9edd895356810c.tar.gz
hostap-54d3dc918409ba948709fee9aa9edd895356810c.tar.bz2
AP: Unset HT capabilities for an HT association request without WMM
HT requires QoS/WMM, so unset HT capabilities for a station whose association request does not include a valid WMM IE. Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Diffstat (limited to 'src/ap/ieee802_11_ht.c')
-rw-r--r--src/ap/ieee802_11_ht.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/ap/ieee802_11_ht.c b/src/ap/ieee802_11_ht.c
index 4b0653d..15edbe9 100644
--- a/src/ap/ieee802_11_ht.c
+++ b/src/ap/ieee802_11_ht.c
@@ -312,10 +312,14 @@ void hostapd_2040_coex_action(struct hostapd_data *hapd,
u16 copy_sta_ht_capab(struct hostapd_data *hapd, struct sta_info *sta,
const u8 *ht_capab, size_t ht_capab_len)
{
- /* Disable HT caps for STAs associated to no-HT BSSes. */
+ /*
+ * Disable HT caps for STAs associated to no-HT BSSes, or for stations
+ * that did not specify a valid WMM IE in the (Re)Association Request
+ * frame.
+ */
if (!ht_capab ||
ht_capab_len < sizeof(struct ieee80211_ht_capabilities) ||
- hapd->conf->disable_11n) {
+ !(sta->flags & WLAN_STA_WMM) || hapd->conf->disable_11n) {
sta->flags &= ~WLAN_STA_HT;
os_free(sta->ht_capabilities);
sta->ht_capabilities = NULL;