aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/mac80211.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/mac80211.c')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mac80211.c31
1 files changed, 2 insertions, 29 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
index 43dd64409fc5..01b450039106 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@ -636,14 +636,6 @@ static void iwl_mvm_mac_stop(struct ieee80211_hw *hw)
636 cancel_work_sync(&mvm->async_handlers_wk); 636 cancel_work_sync(&mvm->async_handlers_wk);
637} 637}
638 638
639static void iwl_mvm_power_update_iterator(void *data, u8 *mac,
640 struct ieee80211_vif *vif)
641{
642 struct iwl_mvm *mvm = data;
643
644 iwl_mvm_power_update_mode(mvm, vif);
645}
646
647static struct iwl_mvm_phy_ctxt *iwl_mvm_get_free_phy_ctxt(struct iwl_mvm *mvm) 639static struct iwl_mvm_phy_ctxt *iwl_mvm_get_free_phy_ctxt(struct iwl_mvm *mvm)
648{ 640{
649 u16 i; 641 u16 i;
@@ -725,7 +717,7 @@ static int iwl_mvm_mac_add_interface(struct ieee80211_hw *hw,
725 if (ret) 717 if (ret)
726 goto out_release; 718 goto out_release;
727 719
728 iwl_mvm_power_disable(mvm, vif); 720 iwl_mvm_power_mac_disable(mvm, vif);
729 721
730 /* beacon filtering */ 722 /* beacon filtering */
731 ret = iwl_mvm_disable_beacon_filter(mvm, vif, CMD_SYNC); 723 ret = iwl_mvm_disable_beacon_filter(mvm, vif, CMD_SYNC);
@@ -787,11 +779,6 @@ static int iwl_mvm_mac_add_interface(struct ieee80211_hw *hw,
787 if (vif->type != NL80211_IFTYPE_P2P_DEVICE) 779 if (vif->type != NL80211_IFTYPE_P2P_DEVICE)
788 mvm->vif_count--; 780 mvm->vif_count--;
789 781
790 /* TODO: remove this when legacy PM will be discarded */
791 ieee80211_iterate_active_interfaces(
792 mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
793 iwl_mvm_power_update_iterator, mvm);
794
795 iwl_mvm_mac_ctxt_release(mvm, vif); 782 iwl_mvm_mac_ctxt_release(mvm, vif);
796 out_unlock: 783 out_unlock:
797 mutex_unlock(&mvm->mutex); 784 mutex_unlock(&mvm->mutex);
@@ -880,11 +867,6 @@ static void iwl_mvm_mac_remove_interface(struct ieee80211_hw *hw,
880 if (mvm->vif_count && vif->type != NL80211_IFTYPE_P2P_DEVICE) 867 if (mvm->vif_count && vif->type != NL80211_IFTYPE_P2P_DEVICE)
881 mvm->vif_count--; 868 mvm->vif_count--;
882 869
883 /* TODO: remove this when legacy PM will be discarded */
884 ieee80211_iterate_active_interfaces(
885 mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
886 iwl_mvm_power_update_iterator, mvm);
887
888 iwl_mvm_mac_ctxt_remove(mvm, vif); 870 iwl_mvm_mac_ctxt_remove(mvm, vif);
889 871
890out_release: 872out_release:
@@ -1237,15 +1219,6 @@ static void iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm,
1237 /* reset rssi values */ 1219 /* reset rssi values */
1238 mvmvif->bf_data.ave_beacon_signal = 0; 1220 mvmvif->bf_data.ave_beacon_signal = 0;
1239 1221
1240 if (!(mvm->fw->ucode_capa.flags &
1241 IWL_UCODE_TLV_FLAGS_PM_CMD_SUPPORT)) {
1242 /* Workaround for FW bug, otherwise FW disables device
1243 * power save upon disassociation
1244 */
1245 ret = iwl_mvm_power_update_mode(mvm, vif);
1246 if (ret)
1247 IWL_ERR(mvm, "failed to update power mode\n");
1248 }
1249 iwl_mvm_bt_coex_vif_change(mvm); 1222 iwl_mvm_bt_coex_vif_change(mvm);
1250 iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_TT, 1223 iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_TT,
1251 IEEE80211_SMPS_AUTOMATIC); 1224 IEEE80211_SMPS_AUTOMATIC);
@@ -1258,7 +1231,7 @@ static void iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm,
1258 &mvmvif->time_event_data); 1231 &mvmvif->time_event_data);
1259 } else if (changes & (BSS_CHANGED_PS | BSS_CHANGED_P2P_PS | 1232 } else if (changes & (BSS_CHANGED_PS | BSS_CHANGED_P2P_PS |
1260 BSS_CHANGED_QOS)) { 1233 BSS_CHANGED_QOS)) {
1261 ret = iwl_mvm_power_update_mode(mvm, vif); 1234 ret = iwl_mvm_power_mac_update_mode(mvm, vif);
1262 if (ret) 1235 if (ret)
1263 IWL_ERR(mvm, "failed to update power mode\n"); 1236 IWL_ERR(mvm, "failed to update power mode\n");
1264 } 1237 }