aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorTomas Winkler <tomas.winkler@intel.com>2007-10-15 18:50:25 -0400
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:03:05 -0500
commit220173b01266d866009ca075757effad39648529 (patch)
tree687af742a87064ccbfe65718357ddafa1bb7e04e /drivers
parenta3c7aa58df7df80aa05f166fe3e42482247164cf (diff)
iwlwifi: Add erp_ie_changed hanlder
This patch adds erp_ie_changed handler to iwl4956 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/iwl4965-base.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index 15a45f471710..35ebe2b89765 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -7670,6 +7670,29 @@ static void iwl_mac_remove_interface(struct ieee80211_hw *hw,
7670 IWL_DEBUG_MAC80211("leave\n"); 7670 IWL_DEBUG_MAC80211("leave\n");
7671 7671
7672} 7672}
7673static void iwl_mac_erp_ie_changed(struct ieee80211_hw *hw,
7674 u8 changes, int cts_protection, int preamble)
7675{
7676
7677 struct iwl_priv *priv = hw->priv;
7678
7679 if (changes & IEEE80211_ERP_CHANGE_PREAMBLE) {
7680 if (preamble == WLAN_ERP_PREAMBLE_SHORT)
7681 priv->staging_rxon.flags |= RXON_FLG_SHORT_PREAMBLE_MSK;
7682 else
7683 priv->staging_rxon.flags &= ~RXON_FLG_SHORT_PREAMBLE_MSK;
7684 }
7685
7686 if (changes & IEEE80211_ERP_CHANGE_PROTECTION) {
7687 if (cts_protection)
7688 priv->staging_rxon.flags |= RXON_FLG_TGG_PROTECT_MSK;
7689 else
7690 priv->staging_rxon.flags &= ~RXON_FLG_TGG_PROTECT_MSK;
7691 }
7692
7693 if (iwl_is_associated(priv))
7694 iwl_send_rxon_assoc(priv);
7695}
7673 7696
7674#define IWL_DELAY_NEXT_SCAN (HZ*2) 7697#define IWL_DELAY_NEXT_SCAN (HZ*2)
7675static int iwl_mac_hw_scan(struct ieee80211_hw *hw, u8 *ssid, size_t len) 7698static int iwl_mac_hw_scan(struct ieee80211_hw *hw, u8 *ssid, size_t len)
@@ -8929,6 +8952,7 @@ static struct ieee80211_ops iwl_hw_ops = {
8929 .get_tsf = iwl_mac_get_tsf, 8952 .get_tsf = iwl_mac_get_tsf,
8930 .reset_tsf = iwl_mac_reset_tsf, 8953 .reset_tsf = iwl_mac_reset_tsf,
8931 .beacon_update = iwl_mac_beacon_update, 8954 .beacon_update = iwl_mac_beacon_update,
8955 .erp_ie_changed = iwl_mac_erp_ie_changed,
8932#ifdef CONFIG_IWLWIFI_HT 8956#ifdef CONFIG_IWLWIFI_HT
8933 .conf_ht = iwl_mac_conf_ht, 8957 .conf_ht = iwl_mac_conf_ht,
8934 .get_ht_capab = iwl_mac_get_ht_capab, 8958 .get_ht_capab = iwl_mac_get_ht_capab,