|
|
@@ -336,7 +336,7 @@ static void iwl_mvm_power_build_cmd(struct iwl_mvm *mvm,
|
|
|
cmd->flags |= cpu_to_le16(POWER_FLAGS_POWER_SAVE_ENA_MSK);
|
|
|
|
|
|
if (!vif->bss_conf.ps || iwl_mvm_vif_low_latency(mvmvif) ||
|
|
|
- !mvmvif->pm_enabled)
|
|
|
+ !mvmvif->pm_enabled || iwl_mvm_tdls_sta_count(mvm, vif))
|
|
|
return;
|
|
|
|
|
|
cmd->flags |= cpu_to_le16(POWER_FLAGS_POWER_MANAGEMENT_ENA_MSK);
|
|
|
@@ -510,8 +510,6 @@ struct iwl_power_vifs {
|
|
|
bool bss_active;
|
|
|
bool ap_active;
|
|
|
bool monitor_active;
|
|
|
- bool bss_tdls;
|
|
|
- bool p2p_tdls;
|
|
|
};
|
|
|
|
|
|
static void iwl_mvm_power_disable_pm_iterator(void *_data, u8* mac,
|
|
|
@@ -566,8 +564,6 @@ static void iwl_mvm_power_get_vifs_iterator(void *_data, u8 *mac,
|
|
|
/* only a single MAC of the same type */
|
|
|
WARN_ON(power_iterator->p2p_vif);
|
|
|
power_iterator->p2p_vif = vif;
|
|
|
- power_iterator->p2p_tdls =
|
|
|
- !!iwl_mvm_tdls_sta_count(power_iterator->mvm, vif);
|
|
|
if (mvmvif->phy_ctxt)
|
|
|
if (mvmvif->phy_ctxt->id < MAX_PHYS)
|
|
|
power_iterator->p2p_active = true;
|
|
|
@@ -577,8 +573,6 @@ static void iwl_mvm_power_get_vifs_iterator(void *_data, u8 *mac,
|
|
|
/* only a single MAC of the same type */
|
|
|
WARN_ON(power_iterator->bss_vif);
|
|
|
power_iterator->bss_vif = vif;
|
|
|
- power_iterator->bss_tdls =
|
|
|
- !!iwl_mvm_tdls_sta_count(power_iterator->mvm, vif);
|
|
|
if (mvmvif->phy_ctxt)
|
|
|
if (mvmvif->phy_ctxt->id < MAX_PHYS)
|
|
|
power_iterator->bss_active = true;
|
|
|
@@ -621,15 +615,13 @@ static void iwl_mvm_power_set_pm(struct iwl_mvm *mvm,
|
|
|
ap_mvmvif = iwl_mvm_vif_from_mac80211(vifs->ap_vif);
|
|
|
|
|
|
/* enable PM on bss if bss stand alone */
|
|
|
- if (vifs->bss_active && !vifs->p2p_active && !vifs->ap_active &&
|
|
|
- !vifs->bss_tdls) {
|
|
|
+ if (vifs->bss_active && !vifs->p2p_active && !vifs->ap_active) {
|
|
|
bss_mvmvif->pm_enabled = true;
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
/* enable PM on p2p if p2p stand alone */
|
|
|
- if (vifs->p2p_active && !vifs->bss_active && !vifs->ap_active &&
|
|
|
- !vifs->p2p_tdls) {
|
|
|
+ if (vifs->p2p_active && !vifs->bss_active && !vifs->ap_active) {
|
|
|
if (mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_P2P_PM)
|
|
|
p2p_mvmvif->pm_enabled = true;
|
|
|
return;
|