aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGuy Cohen <guy.cohen@intel.com>2008-03-04 21:09:25 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-03-07 16:02:59 -0500
commit134eb5d327270c5d3816f8d812e68aa27a335ca8 (patch)
tree729033c1c6f96dc120139b7915b44e03f0b8c99f /drivers
parent87d96114a73dfa323c12c77a2ea9f96f0020c690 (diff)
iwlwifi: 802.11n spec removes AUTO offset for FAT channel
This patch adapts to 802.11 patch and remove AUTO offset for FAT channel Signed-off-by: Guy Cohen <guy.cohen@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.c8
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.h9
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c10
3 files changed, 15 insertions, 12 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c
index 8b9c419e094..bb8f00272af 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.c
@@ -4416,7 +4416,7 @@ static u8 iwl4965_is_channel_extension(struct iwl4965_priv *priv,
4416 if (!is_channel_valid(ch_info)) 4416 if (!is_channel_valid(ch_info))
4417 return 0; 4417 return 0;
4418 4418
4419 if (extension_chan_offset == IWL_EXT_CHANNEL_OFFSET_AUTO) 4419 if (extension_chan_offset == IWL_EXT_CHANNEL_OFFSET_NONE)
4420 return 0; 4420 return 0;
4421 4421
4422 if ((ch_info->fat_extension_channel == extension_chan_offset) || 4422 if ((ch_info->fat_extension_channel == extension_chan_offset) ||
@@ -4433,7 +4433,7 @@ static u8 iwl4965_is_fat_tx_allowed(struct iwl4965_priv *priv,
4433 4433
4434 if ((!iwl_ht_conf->is_ht) || 4434 if ((!iwl_ht_conf->is_ht) ||
4435 (iwl_ht_conf->supported_chan_width != IWL_CHANNEL_WIDTH_40MHZ) || 4435 (iwl_ht_conf->supported_chan_width != IWL_CHANNEL_WIDTH_40MHZ) ||
4436 (iwl_ht_conf->extension_chan_offset == IWL_EXT_CHANNEL_OFFSET_AUTO)) 4436 (iwl_ht_conf->extension_chan_offset == IWL_EXT_CHANNEL_OFFSET_NONE))
4437 return 0; 4437 return 0;
4438 4438
4439 if (sta_ht_inf) { 4439 if (sta_ht_inf) {
@@ -4478,9 +4478,7 @@ void iwl4965_set_rxon_ht(struct iwl4965_priv *priv, struct iwl_ht_info *ht_info)
4478 case IWL_EXT_CHANNEL_OFFSET_BELOW: 4478 case IWL_EXT_CHANNEL_OFFSET_BELOW:
4479 rxon->flags |= RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK; 4479 rxon->flags |= RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK;
4480 break; 4480 break;
4481 case IWL_EXT_CHANNEL_OFFSET_AUTO: 4481 case IWL_EXT_CHANNEL_OFFSET_NONE:
4482 rxon->flags &= ~RXON_FLG_CHANNEL_MODE_MIXED_MSK;
4483 break;
4484 default: 4482 default:
4485 rxon->flags &= ~RXON_FLG_CHANNEL_MODE_MIXED_MSK; 4483 rxon->flags &= ~RXON_FLG_CHANNEL_MODE_MIXED_MSK;
4486 break; 4484 break;
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.h b/drivers/net/wireless/iwlwifi/iwl-4965.h
index 4b3def31a9c..de79816c006 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.h
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.h
@@ -798,11 +798,10 @@ struct iwl4965_kw {
798#define IWL_OPERATION_MODE_MIXED 2 798#define IWL_OPERATION_MODE_MIXED 2
799#define IWL_OPERATION_MODE_20MHZ 3 799#define IWL_OPERATION_MODE_20MHZ 3
800 800
801#define IWL_EXT_CHANNEL_OFFSET_AUTO 0 801#define IWL_EXT_CHANNEL_OFFSET_NONE 0
802#define IWL_EXT_CHANNEL_OFFSET_ABOVE 1 802#define IWL_EXT_CHANNEL_OFFSET_ABOVE 1
803#define IWL_EXT_CHANNEL_OFFSET_ 2 803#define IWL_EXT_CHANNEL_OFFSET_RESERVE1 2
804#define IWL_EXT_CHANNEL_OFFSET_BELOW 3 804#define IWL_EXT_CHANNEL_OFFSET_BELOW 3
805#define IWL_EXT_CHANNEL_OFFSET_MAX 4
806 805
807#define NRG_NUM_PREV_STAT_L 20 806#define NRG_NUM_PREV_STAT_L 20
808#define NUM_RX_CHAINS (3) 807#define NUM_RX_CHAINS (3)
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index 2ed69376c96..b0f6044fd6e 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -7957,15 +7957,21 @@ static void iwl4965_ht_info_fill(struct ieee80211_conf *conf,
7957 iwl_conf->is_green_field = !!(ht_conf->cap & IEEE80211_HT_CAP_GRN_FLD); 7957 iwl_conf->is_green_field = !!(ht_conf->cap & IEEE80211_HT_CAP_GRN_FLD);
7958 iwl_conf->max_amsdu_size = 7958 iwl_conf->max_amsdu_size =
7959 !!(ht_conf->cap & IEEE80211_HT_CAP_MAX_AMSDU); 7959 !!(ht_conf->cap & IEEE80211_HT_CAP_MAX_AMSDU);
7960
7960 iwl_conf->supported_chan_width = 7961 iwl_conf->supported_chan_width =
7961 !!(ht_conf->cap & IEEE80211_HT_CAP_SUP_WIDTH); 7962 !!(ht_conf->cap & IEEE80211_HT_CAP_SUP_WIDTH);
7963 iwl_conf->extension_chan_offset =
7964 ht_bss_conf->bss_cap & IEEE80211_HT_IE_CHA_SEC_OFFSET;
7965 /* If no above or below channel supplied disable FAT channel */
7966 if (iwl_conf->extension_chan_offset != IWL_EXT_CHANNEL_OFFSET_ABOVE &&
7967 iwl_conf->extension_chan_offset != IWL_EXT_CHANNEL_OFFSET_BELOW)
7968 iwl_conf->supported_chan_width = 0;
7969
7962 iwl_conf->tx_mimo_ps_mode = 7970 iwl_conf->tx_mimo_ps_mode =
7963 (u8)((ht_conf->cap & IEEE80211_HT_CAP_MIMO_PS) >> 2); 7971 (u8)((ht_conf->cap & IEEE80211_HT_CAP_MIMO_PS) >> 2);
7964 memcpy(iwl_conf->supp_mcs_set, ht_conf->supp_mcs_set, 16); 7972 memcpy(iwl_conf->supp_mcs_set, ht_conf->supp_mcs_set, 16);
7965 7973
7966 iwl_conf->control_channel = ht_bss_conf->primary_channel; 7974 iwl_conf->control_channel = ht_bss_conf->primary_channel;
7967 iwl_conf->extension_chan_offset =
7968 ht_bss_conf->bss_cap & IEEE80211_HT_IE_CHA_SEC_OFFSET;
7969 iwl_conf->tx_chan_width = 7975 iwl_conf->tx_chan_width =
7970 !!(ht_bss_conf->bss_cap & IEEE80211_HT_IE_CHA_WIDTH); 7976 !!(ht_bss_conf->bss_cap & IEEE80211_HT_IE_CHA_WIDTH);
7971 iwl_conf->ht_protection = 7977 iwl_conf->ht_protection =