diff options
author | Mahesh Palivela <maheshp@posedge.com> | 2012-10-11 04:04:52 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-10-17 05:02:15 -0400 |
commit | f461be3eff662f01a177ecea8c1d7b040bb6bfbe (patch) | |
tree | 7c83ffadf4f1cfe25e69bfdf129643dc1c4e326f /net | |
parent | 818255ea47709065c53c86ca47fce96d8580bee1 (diff) |
{nl,cfg}80211: Peer STA VHT caps
To save STAs VHT caps in AP mode
Signed-off-by: Mahesh Palivela <maheshp@posedge.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/cfg.c | 5 | ||||
-rw-r--r-- | net/wireless/nl80211.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 03216b0408c7..ed27988f9d35 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c | |||
@@ -1157,6 +1157,11 @@ static int sta_apply_parameters(struct ieee80211_local *local, | |||
1157 | params->ht_capa, | 1157 | params->ht_capa, |
1158 | &sta->sta.ht_cap); | 1158 | &sta->sta.ht_cap); |
1159 | 1159 | ||
1160 | if (params->vht_capa) | ||
1161 | ieee80211_vht_cap_ie_to_sta_vht_cap(sdata, sband, | ||
1162 | params->vht_capa, | ||
1163 | &sta->sta.vht_cap); | ||
1164 | |||
1160 | if (ieee80211_vif_is_mesh(&sdata->vif)) { | 1165 | if (ieee80211_vif_is_mesh(&sdata->vif)) { |
1161 | #ifdef CONFIG_MAC80211_MESH | 1166 | #ifdef CONFIG_MAC80211_MESH |
1162 | if (sdata->u.mesh.security & IEEE80211_MESH_SEC_SECURED) | 1167 | if (sdata->u.mesh.security & IEEE80211_MESH_SEC_SECURED) |
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 74d8123ada77..ef170e982f91 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c | |||
@@ -355,6 +355,7 @@ static const struct nla_policy nl80211_policy[NL80211_ATTR_MAX+1] = { | |||
355 | [NL80211_ATTR_WDEV] = { .type = NLA_U64 }, | 355 | [NL80211_ATTR_WDEV] = { .type = NLA_U64 }, |
356 | [NL80211_ATTR_USER_REG_HINT_TYPE] = { .type = NLA_U32 }, | 356 | [NL80211_ATTR_USER_REG_HINT_TYPE] = { .type = NLA_U32 }, |
357 | [NL80211_ATTR_SAE_DATA] = { .type = NLA_BINARY, }, | 357 | [NL80211_ATTR_SAE_DATA] = { .type = NLA_BINARY, }, |
358 | [NL80211_ATTR_VHT_CAPABILITY] = { .len = NL80211_VHT_CAPABILITY_LEN }, | ||
358 | }; | 359 | }; |
359 | 360 | ||
360 | /* policy for the key attributes */ | 361 | /* policy for the key attributes */ |
@@ -3223,6 +3224,10 @@ static int nl80211_new_station(struct sk_buff *skb, struct genl_info *info) | |||
3223 | params.ht_capa = | 3224 | params.ht_capa = |
3224 | nla_data(info->attrs[NL80211_ATTR_HT_CAPABILITY]); | 3225 | nla_data(info->attrs[NL80211_ATTR_HT_CAPABILITY]); |
3225 | 3226 | ||
3227 | if (info->attrs[NL80211_ATTR_VHT_CAPABILITY]) | ||
3228 | params.vht_capa = | ||
3229 | nla_data(info->attrs[NL80211_ATTR_VHT_CAPABILITY]); | ||
3230 | |||
3226 | if (info->attrs[NL80211_ATTR_STA_PLINK_ACTION]) | 3231 | if (info->attrs[NL80211_ATTR_STA_PLINK_ACTION]) |
3227 | params.plink_action = | 3232 | params.plink_action = |
3228 | nla_get_u8(info->attrs[NL80211_ATTR_STA_PLINK_ACTION]); | 3233 | nla_get_u8(info->attrs[NL80211_ATTR_STA_PLINK_ACTION]); |