iwlagn: fix needed chains calculation

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>
This commit is contained in:
Johannes Berg 2010-11-10 09:56:44 -08:00 committed by John W. Linville
parent 35a6eb3652
commit 2e1fea43aa
1 changed files with 3 additions and 1 deletions

View 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