diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-03-01 17:33:18 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-03-01 19:20:25 +0100 |
commit | 24af717c35189f7a83c34e637256ccb7295a617b (patch) | |
tree | df93dfde818c78651882c8303095de0a23f0179f /net | |
parent | 7cbf9d017dbb5e3276de7d527925d42d4c11e732 (diff) | |
download | linux-3.10-24af717c35189f7a83c34e637256ccb7295a617b.tar.gz linux-3.10-24af717c35189f7a83c34e637256ccb7295a617b.tar.bz2 linux-3.10-24af717c35189f7a83c34e637256ccb7295a617b.zip |
mac80211: fix VHT MCS calculation
The VHT MCSes we advertise to the AP were supposed to
be restricted to the AP, but due to a bug in the logic
mac80211 will advertise rates to the AP that aren't
even supported by the local device. To fix this skip
any adjustment if the NSS isn't supported at all.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/mlme.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index b756d292469..141577412d8 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -647,6 +647,9 @@ static void ieee80211_add_vht_ie(struct ieee80211_sub_if_data *sdata, our_mcs = (le16_to_cpu(vht_cap.vht_mcs.rx_mcs_map) & mask) >> shift; + if (our_mcs == IEEE80211_VHT_MCS_NOT_SUPPORTED) + continue; + switch (ap_mcs) { default: if (our_mcs <= ap_mcs) |