iwlwifi: mvm: don't enable VHT MCS9 in 20Mhz
authorEyal Shapira <eyal@wizery.com>
Sat, 9 Nov 2013 21:25:06 +0000 (23:25 +0200)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Mon, 9 Dec 2013 20:29:46 +0000 (22:29 +0200)
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>
drivers/net/wireless/iwlwifi/mvm/rs.c

index 9565260..f1364b7 100644 (file)
@@ -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);
                }
        }