aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/wpas_glue.c
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2014-09-29 18:47:53 (GMT)
committerJouni Malinen <j@w1.fi>2014-10-03 08:52:56 (GMT)
commit08d7665c6b799a9d781c573b1c7a8983c79de302 (patch)
treeaf270c110ebe9b6d72bf6db3c68f22046258531e /wpa_supplicant/wpas_glue.c
parent17729b0985d4648f9dc749c3057d7056703a2c93 (diff)
downloadhostap-08d7665c6b799a9d781c573b1c7a8983c79de302.zip
hostap-08d7665c6b799a9d781c573b1c7a8983c79de302.tar.gz
hostap-08d7665c6b799a9d781c573b1c7a8983c79de302.tar.bz2
TDLS: Use WMM IE for propagating peer WMM capability
Relying on qos qosinfo is not enough, as it can be 0 for WMM enabled peers that don't support U-APSD. Further, some peers don't even contain this IE (Google Nexus 5), but do contain the WMM IE during setup. Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Diffstat (limited to 'wpa_supplicant/wpas_glue.c')
-rw-r--r--wpa_supplicant/wpas_glue.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/wpa_supplicant/wpas_glue.c b/wpa_supplicant/wpas_glue.c
index 896c256..38279b1 100644
--- a/wpa_supplicant/wpas_glue.c
+++ b/wpa_supplicant/wpas_glue.c
@@ -602,7 +602,7 @@ static int wpa_supplicant_tdls_peer_addset(
const u8 *supp_rates, size_t supp_rates_len,
const struct ieee80211_ht_capabilities *ht_capab,
const struct ieee80211_vht_capabilities *vht_capab,
- u8 qosinfo, const u8 *ext_capab, size_t ext_capab_len,
+ u8 qosinfo, int wmm, const u8 *ext_capab, size_t ext_capab_len,
const u8 *supp_channels, size_t supp_channels_len,
const u8 *supp_oper_classes, size_t supp_oper_classes_len)
{
@@ -617,10 +617,10 @@ static int wpa_supplicant_tdls_peer_addset(
params.flags = WPA_STA_TDLS_PEER | WPA_STA_AUTHORIZED;
/*
- * TDLS Setup frames do not contain WMM IEs, hence need to depend on
- * qosinfo to check if the peer is WMM capable.
+ * Don't rely only on qosinfo for WMM capability. It may be 0 even when
+ * present. Allow the WMM IE to also indicate QoS support.
*/
- if (qosinfo)
+ if (wmm || qosinfo)
params.flags |= WPA_STA_WMM;
params.ht_capabilities = ht_capab;