summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-03-01 17:33:18 +0100
committerJohannes Berg <johannes.berg@intel.com>2013-03-01 19:20:25 +0100
commit24af717c35189f7a83c34e637256ccb7295a617b (patch)
treedf93dfde818c78651882c8303095de0a23f0179f /net
parent7cbf9d017dbb5e3276de7d527925d42d4c11e732 (diff)
downloadlinux-24af717c35189f7a83c34e637256ccb7295a617b.tar.gz
linux-24af717c35189f7a83c34e637256ccb7295a617b.tar.bz2
linux-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.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index b756d2924690..141577412d84 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)