iwlwifi: mvm: Use beacon_get_template instead of beacon_get
authorAndrei Otcheretianski <andrei.otcheretianski@intel.com>
Thu, 10 Apr 2014 18:46:16 +0000 (21:46 +0300)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Mon, 7 Jul 2014 18:41:18 +0000 (21:41 +0300)
Call ieee80211_beacon_get_template instead of ieee80211_beacon_get and sync the
CSA counters with mac80211 after each beacon transmission.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Reviewed-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c

index 549817d46bfc83de6569da4eda0ae921726da126..6d094721a20ec62dc0219336cd5917ca173447c3 100644 (file)
@@ -969,7 +969,7 @@ int iwl_mvm_mac_ctxt_beacon_changed(struct iwl_mvm *mvm,
        WARN_ON(vif->type != NL80211_IFTYPE_AP &&
                vif->type != NL80211_IFTYPE_ADHOC);
 
-       beacon = ieee80211_beacon_get(mvm->hw, vif);
+       beacon = ieee80211_beacon_get_template(mvm->hw, vif, NULL);
        if (!beacon)
                return -ENOMEM;
 
@@ -1233,6 +1233,7 @@ int iwl_mvm_rx_beacon_notif(struct iwl_mvm *mvm,
 
        if (unlikely(mvm->csa_vif && mvm->csa_vif->csa_active)) {
                if (!ieee80211_csa_is_complete(mvm->csa_vif)) {
+                       ieee80211_csa_update_counter(mvm->csa_vif);
                        iwl_mvm_mac_ctxt_beacon_changed(mvm, mvm->csa_vif);
                } else {
                        ieee80211_csa_finish(mvm->csa_vif);