Commit 424f2630 authored by Michal Kazior's avatar Michal Kazior Committed by Kalle Valo
Browse files

ath10k: limit multi-vif ps more aggresivelly

Further testing proved that multi-channel AP+STA
on QCA6174 with RM.2.0-00088 should have powersave
force-disabled to avoid beacon misses/skipping on
either side which in turn could disrupt

Since AP never has arvif->ps don't even bother
checking it. Other combinations may be broken as
well so disallow powersave with multivif outright
unless firmware advertises otherwise.

Signed-off-by: default avatarMichal Kazior <>
Signed-off-by: default avatarKalle Valo <>
parent 835d56a1
......@@ -1668,7 +1668,7 @@ static int ath10k_mac_vif_recalc_ps_poll_count(struct ath10k_vif *arvif)
return 0;
static int ath10k_mac_ps_vif_count(struct ath10k *ar)
static int ath10k_mac_num_vifs_started(struct ath10k *ar)
struct ath10k_vif *arvif;
int num = 0;
......@@ -1676,7 +1676,7 @@ static int ath10k_mac_ps_vif_count(struct ath10k *ar)
list_for_each_entry(arvif, &ar->arvifs, list)
if (arvif->ps)
if (arvif->is_started)
return num;
......@@ -1700,7 +1700,7 @@ static int ath10k_mac_vif_setup_ps(struct ath10k_vif *arvif)
enable_ps = arvif->ps;
if (enable_ps && ath10k_mac_ps_vif_count(ar) > 1 &&
if (enable_ps && ath10k_mac_num_vifs_started(ar) > 1 &&
ar->fw_features)) {
ath10k_warn(ar, "refusing to enable ps on vdev %i: not supported by fw\n",
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment