summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2022-06-24 16:02:16 +0300
committerJohannes Berg <johannes.berg@intel.com>2022-07-15 12:43:15 +0300
commita3b8008dc1421a6f1d0d92cfc1352d729f6756c1 (patch)
treedb9e09dabe6b7d89604c1bbdf5f076142d737d3f /net
parent3fbddae46e5fc3f1630c7cf561d88e4ad21c7105 (diff)
downloadlinux-a3b8008dc1421a6f1d0d92cfc1352d729f6756c1.tar.xz
wifi: mac80211: move ps setting to vif config
This really shouldn't be in a per-link config, we don't want to let anyone control it that way (if anything, link powersave could be forced through APIs to activate/deactivate a link), and we don't support powersave in software with devices that can do MLO. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/main.c1
-rw-r--r--net/mac80211/mlme.c7
-rw-r--r--net/mac80211/trace.h4
3 files changed, 6 insertions, 6 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index 191f4d35ef60..1258e506377e 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -202,6 +202,7 @@ int ieee80211_hw_config(struct ieee80211_local *local, u32 changed)
#define BSS_CHANGED_VIF_CFG_FLAGS (BSS_CHANGED_ASSOC |\
BSS_CHANGED_IDLE |\
+ BSS_CHANGED_PS |\
BSS_CHANGED_IBSS |\
BSS_CHANGED_ARP_FILTER |\
BSS_CHANGED_SSID)
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 299381d19760..f8be05804e59 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -1869,10 +1869,9 @@ void ieee80211_recalc_ps_vif(struct ieee80211_sub_if_data *sdata)
{
bool ps_allowed = ieee80211_powersave_allowed(sdata);
- if (sdata->vif.bss_conf.ps != ps_allowed) {
- sdata->vif.bss_conf.ps = ps_allowed;
- ieee80211_link_info_change_notify(sdata, &sdata->deflink,
- BSS_CHANGED_PS);
+ if (sdata->vif.cfg.ps != ps_allowed) {
+ sdata->vif.cfg.ps = ps_allowed;
+ ieee80211_vif_cfg_change_notify(sdata, BSS_CHANGED_PS);
}
}
diff --git a/net/mac80211/trace.h b/net/mac80211/trace.h
index 6aa06fba5b50..751f08b47d0c 100644
--- a/net/mac80211/trace.h
+++ b/net/mac80211/trace.h
@@ -413,6 +413,7 @@ TRACE_EVENT(drv_vif_cfg_changed,
__dynamic_array(u8, ssid, sdata->vif.cfg.ssid_len)
__field(int, s1g)
__field(bool, idle)
+ __field(bool, ps)
),
TP_fast_assign(
@@ -423,6 +424,7 @@ TRACE_EVENT(drv_vif_cfg_changed,
__entry->assoc = sdata->vif.cfg.assoc;
__entry->ibss_joined = sdata->vif.cfg.ibss_joined;
__entry->ibss_creator = sdata->vif.cfg.ibss_creator;
+ __entry->ps = sdata->vif.cfg.ps;
__entry->arp_addr_cnt = sdata->vif.cfg.arp_addr_cnt;
memcpy(__get_dynamic_array(arp_addr_list),
@@ -475,7 +477,6 @@ TRACE_EVENT(drv_link_info_changed,
__field(u32, channel_cfreq1)
__field(u32, channel_cfreq1_offset)
__field(bool, qos)
- __field(bool, ps)
__field(bool, hidden_ssid)
__field(int, txpower)
__field(u8, p2p_oppps_ctwindow)
@@ -506,7 +507,6 @@ TRACE_EVENT(drv_link_info_changed,
__entry->channel_cfreq1 = link_conf->chandef.center_freq1;
__entry->channel_cfreq1_offset = link_conf->chandef.freq1_offset;
__entry->qos = link_conf->qos;
- __entry->ps = link_conf->ps;
__entry->hidden_ssid = link_conf->hidden_ssid;
__entry->txpower = link_conf->txpower;
__entry->p2p_oppps_ctwindow = link_conf->p2p_noa_attr.oppps_ctwindow;