summaryrefslogtreecommitdiff
path: root/net/mac80211/cfg.c
diff options
context:
space:
mode:
authorMarek Kwaczynski <marek.kwaczynski@tieto.com>2014-02-03 13:44:44 (GMT)
committerJohannes Berg <johannes.berg@intel.com>2014-02-05 13:03:23 (GMT)
commitb1bce14a7954790d0fd3bba29375a65aa96fc57c (patch)
tree167db77bcc08a2241de6aba667508aebf17f792c /net/mac80211/cfg.c
parent9752482083066af7ac18a5ca376ff35d72418b29 (diff)
downloadlinux-b1bce14a7954790d0fd3bba29375a65aa96fc57c.tar.xz
mac80211: update opmode when adding new station
Update the operating mode field is needed when an association request contains the operating mode notification element and it's not just changed later on the fly. Signed-off-by: Marek Kwaczynski <marek.kwaczynski@tieto.com> [clarify commit log, comments & fix whitespace] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/cfg.c')
-rw-r--r--net/mac80211/cfg.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 875e63d..8192093 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -1344,6 +1344,18 @@ static int sta_apply_parameters(struct ieee80211_local *local,
ieee80211_vht_cap_ie_to_sta_vht_cap(sdata, sband,
params->vht_capa, sta);
+ if (params->opmode_notif_used) {
+ enum ieee80211_band band =
+ ieee80211_get_sdata_band(sdata);
+
+ /* returned value is only needed for rc update, but the
+ * rc isn't initialized here yet, so ignore it
+ */
+ __ieee80211_vht_handle_opmode(sdata, sta,
+ params->opmode_notif,
+ band, false);
+ }
+
if (ieee80211_vif_is_mesh(&sdata->vif)) {
#ifdef CONFIG_MAC80211_MESH
u32 changed = 0;