summaryrefslogtreecommitdiffstats
path: root/net/mac80211/util.c
diff options
context:
space:
mode:
authorMahesh Palivela2012-10-10 13:33:04 +0200
committerJohannes Berg2012-10-17 11:02:14 +0200
commit818255ea47709065c53c86ca47fce96d8580bee1 (patch)
tree8557aca0148c4157ac580f6b3b11a6e94215714f /net/mac80211/util.c
parentieee80211: Rename VHT cap struct (diff)
downloadkernel-qcow2-linux-818255ea47709065c53c86ca47fce96d8580bee1.tar.gz
kernel-qcow2-linux-818255ea47709065c53c86ca47fce96d8580bee1.tar.xz
kernel-qcow2-linux-818255ea47709065c53c86ca47fce96d8580bee1.zip
mac80211: VHT peer STA caps
Save the AP's VHT capabilities (in managed mode) and make them available to the driver in the station information. Unlike HT capabilities, they aren't restricted to the common capabilities, so drivers must be aware of their own capabilities. Signed-off-by: Mahesh Palivela <maheshp@posedge.com> [fix endian conversion bug ...] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r--net/mac80211/util.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index 3dca9827624a..51a4a2516233 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -741,6 +741,18 @@ u32 ieee802_11_parse_elems_crc(u8 *start, size_t len,
else
elem_parse_failed = true;
break;
+ case WLAN_EID_VHT_CAPABILITY:
+ if (elen >= sizeof(struct ieee80211_vht_cap))
+ elems->vht_cap_elem = (void *)pos;
+ else
+ elem_parse_failed = true;
+ break;
+ case WLAN_EID_VHT_OPERATION:
+ if (elen >= sizeof(struct ieee80211_vht_operation))
+ elems->vht_operation = (void *)pos;
+ else
+ elem_parse_failed = true;
+ break;
case WLAN_EID_MESH_ID:
elems->mesh_id = pos;
elems->mesh_id_len = elen;