From d76426c3aa7f7cf1d1c01577fe0e7499a8a67ec1 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Mon, 29 Sep 2014 19:58:26 +0300 Subject: [PATCH] TDLS: Filter AID value properly for VHT peers IEEE 802.11 standard sends AID in a field that is defined in a bit strange way to set two MSBs to ones. That is not the real AID and those extra bits need to be filtered from the value before passing this to the driver. Signed-off-by: Jouni Malinen --- src/rsn_supp/wpa_ie.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rsn_supp/wpa_ie.c b/src/rsn_supp/wpa_ie.c index 2329033ea..93e8cf692 100644 --- a/src/rsn_supp/wpa_ie.c +++ b/src/rsn_supp/wpa_ie.c @@ -549,7 +549,7 @@ int wpa_supplicant_parse_ies(const u8 *buf, size_t len, ie->ht_capabilities_len = pos[1]; } else if (*pos == WLAN_EID_VHT_AID) { if (pos[1] >= 2) - ie->aid = WPA_GET_LE16(pos + 2); + ie->aid = WPA_GET_LE16(pos + 2) & 0x3fff; } else if (*pos == WLAN_EID_VHT_CAP) { ie->vht_capabilities = pos + 2; ie->vht_capabilities_len = pos[1];