aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-dev.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-09-11 13:38:17 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-10-07 16:39:33 -0400
commit02bb1bea85e6570b4e64825026382556970b9296 (patch)
tree842b73d6ed4282b315bcbbe627db26080464cd72 /drivers/net/wireless/iwlwifi/iwl-dev.h
parente307ddce394ee7bcec41fb74330ac89eafaea1d9 (diff)
iwlwifi: clarify and clean up chain settings
The chain settings we currently use in iwlwifi are rather confusing -- and we also go by the wrong settings entirely under certain circumstances. To clean it up, create a new variable in the current HT config -- single_chain_sufficient -- that tells us whether we need more than one chain. Calculate that based on the AP and operating mode (no IBSS HT implemented -- so no need for multiple chains, for station mode we use the AP's capabilities). Additionally, since APs always send disabled SM PS mode, keeping track of their sm_ps mode isn't very useful -- doubly not so for our _own_ RX config since that should depend on our, not the AP's, SM PS mode. Finally, document that our configuration of the number of RX chains used is currently wrong when in powersave (by adding a comment). All together this removes the two remaining items in struct iwl_ht_config that were done wrong there. For the future, the number of RX chains and some SM PS handshaking needs to be added to mac80211, which then needs to tell us, and the new variable current_ht_config.single_chain_sufficient should also be calculated by mac80211. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Daniel C Halperin <daniel.c.halperin@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-dev.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-dev.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h
index e161f8d1766e..0c80692f934b 100644
--- a/drivers/net/wireless/iwlwifi/iwl-dev.h
+++ b/drivers/net/wireless/iwlwifi/iwl-dev.h
@@ -506,8 +506,7 @@ struct iwl_ht_config {
506 /* self configuration data */ 506 /* self configuration data */
507 bool is_ht; 507 bool is_ht;
508 bool is_40mhz; 508 bool is_40mhz;
509 u8 sm_ps; 509 bool single_chain_sufficient;
510 struct ieee80211_mcs_info mcs;
511 /* BSS related data */ 510 /* BSS related data */
512 u8 extension_chan_offset; 511 u8 extension_chan_offset;
513 u8 ht_protection; 512 u8 ht_protection;