summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorEyal Shapira <eyal@wizery.com>2013-11-09 22:25:06 +0100
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2013-12-09 21:29:46 +0100
commit271518adff21b48c88caeb7d8847cb94af197994 (patch)
treecb0e10fab8f007936563454f328796e729749ce5 /drivers
parentiwlwifi: mvm: stop using MIMO in case BT doesn't allow it (diff)
downloadlinux-271518adff21b48c88caeb7d8847cb94af197994.tar.xz
linux-271518adff21b48c88caeb7d8847cb94af197994.zip
iwlwifi: mvm: don't enable VHT MCS9 in 20Mhz
MCS9 in NSS=1 or NSS=2 isn't valid for 20Mhz so don't enable it in case we're dealing with a 20Mhz sta. Trying to configure an MCS9 rate with 20Mhz in the LQ rate table would lead to a FW assert. Signed-off-by: Eyal Shapira <eyal@wizery.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/rs.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/rs.c b/drivers/net/wireless/iwlwifi/mvm/rs.c
index 95652601cd5a..f1364b7f58e4 100644
--- a/drivers/net/wireless/iwlwifi/mvm/rs.c
+++ b/drivers/net/wireless/iwlwifi/mvm/rs.c
@@ -2241,6 +2241,11 @@ static void rs_vht_set_enabled_rates(struct ieee80211_sta *sta,
if (i == IWL_RATE_9M_INDEX)
continue;
+ /* VHT MCS9 isn't valid for 20Mhz for NSS=1,2 */
+ if (i == IWL_RATE_MCS_9_INDEX &&
+ sta->bandwidth == IEEE80211_STA_RX_BW_20)
+ continue;
+
lq_sta->active_siso_rate |= BIT(i);
}
}
@@ -2251,6 +2256,11 @@ static void rs_vht_set_enabled_rates(struct ieee80211_sta *sta,
if (i == IWL_RATE_9M_INDEX)
continue;
+ /* VHT MCS9 isn't valid for 20Mhz for NSS=1,2 */
+ if (i == IWL_RATE_MCS_9_INDEX &&
+ sta->bandwidth == IEEE80211_STA_RX_BW_20)
+ continue;
+
lq_sta->active_mimo2_rate |= BIT(i);
}
}