aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/power.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/power.c')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/power.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/power.c b/drivers/net/wireless/iwlwifi/mvm/power.c
index 2620dd0c45f9..9c6fce10fe0b 100644
--- a/drivers/net/wireless/iwlwifi/mvm/power.c
+++ b/drivers/net/wireless/iwlwifi/mvm/power.c
@@ -357,7 +357,7 @@ static void iwl_mvm_power_build_cmd(struct iwl_mvm *mvm,
357 cmd->flags |= cpu_to_le16(POWER_FLAGS_POWER_SAVE_ENA_MSK); 357 cmd->flags |= cpu_to_le16(POWER_FLAGS_POWER_SAVE_ENA_MSK);
358 358
359 if (!vif->bss_conf.ps || iwl_mvm_vif_low_latency(mvmvif) || 359 if (!vif->bss_conf.ps || iwl_mvm_vif_low_latency(mvmvif) ||
360 !mvmvif->pm_enabled || iwl_mvm_tdls_sta_count(mvm, vif)) 360 !mvmvif->pm_enabled)
361 return; 361 return;
362 362
363 cmd->flags |= cpu_to_le16(POWER_FLAGS_POWER_MANAGEMENT_ENA_MSK); 363 cmd->flags |= cpu_to_le16(POWER_FLAGS_POWER_MANAGEMENT_ENA_MSK);
@@ -638,6 +638,10 @@ static void iwl_mvm_power_set_pm(struct iwl_mvm *mvm,
638 if (vifs->ap_vif) 638 if (vifs->ap_vif)
639 ap_mvmvif = iwl_mvm_vif_from_mac80211(vifs->ap_vif); 639 ap_mvmvif = iwl_mvm_vif_from_mac80211(vifs->ap_vif);
640 640
641 /* don't allow PM if any TDLS stations exist */
642 if (iwl_mvm_tdls_sta_count(mvm, NULL))
643 return;
644
641 /* enable PM on bss if bss stand alone */ 645 /* enable PM on bss if bss stand alone */
642 if (vifs->bss_active && !vifs->p2p_active && !vifs->ap_active) { 646 if (vifs->bss_active && !vifs->p2p_active && !vifs->ap_active) {
643 bss_mvmvif->pm_enabled = true; 647 bss_mvmvif->pm_enabled = true;