diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2007-10-16 00:50:25 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 15:03:05 -0800 |
commit | 220173b01266d866009ca075757effad39648529 (patch) | |
tree | 687af742a87064ccbfe65718357ddafa1bb7e04e | |
parent | a3c7aa58df7df80aa05f166fe3e42482247164cf (diff) | |
download | kernel_samsung_smdk4412-220173b01266d866009ca075757effad39648529.zip kernel_samsung_smdk4412-220173b01266d866009ca075757effad39648529.tar.gz kernel_samsung_smdk4412-220173b01266d866009ca075757effad39648529.tar.bz2 |
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>
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 24 |
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 15a45f4..35ebe2b 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, IWL_DEBUG_MAC80211("leave\n"); } +static void iwl_mac_erp_ie_changed(struct ieee80211_hw *hw, + u8 changes, int cts_protection, int preamble) +{ + + struct iwl_priv *priv = hw->priv; + + if (changes & IEEE80211_ERP_CHANGE_PREAMBLE) { + if (preamble == WLAN_ERP_PREAMBLE_SHORT) + priv->staging_rxon.flags |= RXON_FLG_SHORT_PREAMBLE_MSK; + else + priv->staging_rxon.flags &= ~RXON_FLG_SHORT_PREAMBLE_MSK; + } + + if (changes & IEEE80211_ERP_CHANGE_PROTECTION) { + if (cts_protection) + priv->staging_rxon.flags |= RXON_FLG_TGG_PROTECT_MSK; + else + priv->staging_rxon.flags &= ~RXON_FLG_TGG_PROTECT_MSK; + } + + if (iwl_is_associated(priv)) + iwl_send_rxon_assoc(priv); +} #define IWL_DELAY_NEXT_SCAN (HZ*2) static 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 = { .get_tsf = iwl_mac_get_tsf, .reset_tsf = iwl_mac_reset_tsf, .beacon_update = iwl_mac_beacon_update, + .erp_ie_changed = iwl_mac_erp_ie_changed, #ifdef CONFIG_IWLWIFI_HT .conf_ht = iwl_mac_conf_ht, .get_ht_capab = iwl_mac_get_ht_capab, |