aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/vht.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/vht.c')
-rw-r--r--net/mac80211/vht.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/mac80211/vht.c b/net/mac80211/vht.c
index 0951f74e7ff5..a9549fcc5a04 100644
--- a/net/mac80211/vht.c
+++ b/net/mac80211/vht.c
@@ -141,7 +141,7 @@ void ieee80211_sta_set_rx_nss(struct sta_info *sta)
141 141
142void ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata, 142void ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata,
143 struct sta_info *sta, u8 opmode, 143 struct sta_info *sta, u8 opmode,
144 enum ieee80211_band band) 144 enum ieee80211_band band, bool nss_only)
145{ 145{
146 struct ieee80211_local *local = sdata->local; 146 struct ieee80211_local *local = sdata->local;
147 struct ieee80211_supported_band *sband; 147 struct ieee80211_supported_band *sband;
@@ -164,6 +164,9 @@ void ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata,
164 changed |= IEEE80211_RC_NSS_CHANGED; 164 changed |= IEEE80211_RC_NSS_CHANGED;
165 } 165 }
166 166
167 if (nss_only)
168 goto change;
169
167 switch (opmode & IEEE80211_OPMODE_NOTIF_CHANWIDTH_MASK) { 170 switch (opmode & IEEE80211_OPMODE_NOTIF_CHANWIDTH_MASK) {
168 case IEEE80211_OPMODE_NOTIF_CHANWIDTH_20MHZ: 171 case IEEE80211_OPMODE_NOTIF_CHANWIDTH_20MHZ:
169 sta->cur_max_bandwidth = IEEE80211_STA_RX_BW_20; 172 sta->cur_max_bandwidth = IEEE80211_STA_RX_BW_20;
@@ -185,6 +188,7 @@ void ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata,
185 changed |= IEEE80211_RC_NSS_CHANGED; 188 changed |= IEEE80211_RC_NSS_CHANGED;
186 } 189 }
187 190
191 change:
188 if (changed) 192 if (changed)
189 rate_control_rate_update(local, sband, sta, changed); 193 rate_control_rate_update(local, sband, sta, changed);
190} 194}