diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl4965-base.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c index 92bb7e13a1f0..2597c08a2395 100644 --- a/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c | |||
@@ -7764,25 +7764,35 @@ static void iwl4965_mac_remove_interface(struct ieee80211_hw *hw, | |||
7764 | IWL_DEBUG_MAC80211("leave\n"); | 7764 | IWL_DEBUG_MAC80211("leave\n"); |
7765 | 7765 | ||
7766 | } | 7766 | } |
7767 | static void iwl4965_mac_erp_ie_changed(struct ieee80211_hw *hw, | 7767 | |
7768 | u8 changes, int cts_protection, int preamble) | 7768 | static void iwl4965_bss_info_changed(struct ieee80211_hw *hw, |
7769 | struct ieee80211_vif *vif, | ||
7770 | struct ieee80211_bss_conf *bss_conf, | ||
7771 | u32 changes) | ||
7769 | { | 7772 | { |
7770 | struct iwl4965_priv *priv = hw->priv; | 7773 | struct iwl4965_priv *priv = hw->priv; |
7771 | 7774 | ||
7772 | if (changes & IEEE80211_ERP_CHANGE_PREAMBLE) { | 7775 | if (changes & BSS_CHANGED_ERP_PREAMBLE) { |
7773 | if (preamble == WLAN_ERP_PREAMBLE_SHORT) | 7776 | if (bss_conf->use_short_preamble) |
7774 | priv->staging_rxon.flags |= RXON_FLG_SHORT_PREAMBLE_MSK; | 7777 | priv->staging_rxon.flags |= RXON_FLG_SHORT_PREAMBLE_MSK; |
7775 | else | 7778 | else |
7776 | priv->staging_rxon.flags &= ~RXON_FLG_SHORT_PREAMBLE_MSK; | 7779 | priv->staging_rxon.flags &= ~RXON_FLG_SHORT_PREAMBLE_MSK; |
7777 | } | 7780 | } |
7778 | 7781 | ||
7779 | if (changes & IEEE80211_ERP_CHANGE_PROTECTION) { | 7782 | if (changes & BSS_CHANGED_ERP_CTS_PROT) { |
7780 | if (cts_protection && (priv->phymode != MODE_IEEE80211A)) | 7783 | if (bss_conf->use_cts_prot && (priv->phymode != MODE_IEEE80211A)) |
7781 | priv->staging_rxon.flags |= RXON_FLG_TGG_PROTECT_MSK; | 7784 | priv->staging_rxon.flags |= RXON_FLG_TGG_PROTECT_MSK; |
7782 | else | 7785 | else |
7783 | priv->staging_rxon.flags &= ~RXON_FLG_TGG_PROTECT_MSK; | 7786 | priv->staging_rxon.flags &= ~RXON_FLG_TGG_PROTECT_MSK; |
7784 | } | 7787 | } |
7785 | 7788 | ||
7789 | if (changes & BSS_CHANGED_ASSOC) { | ||
7790 | /* | ||
7791 | * TODO: | ||
7792 | * do stuff instead of sniffing assoc resp | ||
7793 | */ | ||
7794 | } | ||
7795 | |||
7786 | if (iwl4965_is_associated(priv)) | 7796 | if (iwl4965_is_associated(priv)) |
7787 | iwl4965_send_rxon_assoc(priv); | 7797 | iwl4965_send_rxon_assoc(priv); |
7788 | } | 7798 | } |
@@ -8952,7 +8962,7 @@ static struct ieee80211_ops iwl4965_hw_ops = { | |||
8952 | .get_tsf = iwl4965_mac_get_tsf, | 8962 | .get_tsf = iwl4965_mac_get_tsf, |
8953 | .reset_tsf = iwl4965_mac_reset_tsf, | 8963 | .reset_tsf = iwl4965_mac_reset_tsf, |
8954 | .beacon_update = iwl4965_mac_beacon_update, | 8964 | .beacon_update = iwl4965_mac_beacon_update, |
8955 | .erp_ie_changed = iwl4965_mac_erp_ie_changed, | 8965 | .bss_info_changed = iwl4965_bss_info_changed, |
8956 | #ifdef CONFIG_IWL4965_HT | 8966 | #ifdef CONFIG_IWL4965_HT |
8957 | .conf_ht = iwl4965_mac_conf_ht, | 8967 | .conf_ht = iwl4965_mac_conf_ht, |
8958 | .ampdu_action = iwl4965_mac_ampdu_action, | 8968 | .ampdu_action = iwl4965_mac_ampdu_action, |