iwlagn: fix needed chains calculation
authorJohannes Berg <johannes.berg@intel.com>
Wed, 10 Nov 2010 17:56:44 +0000 (09:56 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 15 Nov 2010 18:26:51 +0000 (13:26 -0500)
Garen noticed that this was wrong. Fix
the calibration -- default to multiple
chains and fall back to single where
possible.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-agn-rxon.c

index 02288779a71f480f4dc0122fd8cf55af2fef415f..1fab1bb5f2b462f7b170fae22c1b859f41dbced1 100644 (file)
@@ -458,11 +458,13 @@ static void iwlagn_check_needed_chains(struct iwl_priv *priv,
                                        >> IEEE80211_HT_MCS_TX_MAX_STREAMS_SHIFT;
                        maxstreams += 1;
 
+                       need_multiple = true;
+
                        if ((ht_cap->mcs.rx_mask[1] == 0) &&
                            (ht_cap->mcs.rx_mask[2] == 0))
                                need_multiple = false;
                        if (maxstreams <= 1)
-                               need_multiple = true;
+                               need_multiple = false;
                } else {
                        /*
                         * If at all, this can only happen through a race