wifi: mac80211: add pointer from bss_conf to vif
authorBenjamin Berg <benjamin.berg@intel.com>
Wed, 1 Mar 2023 10:09:25 +0000 (12:09 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 7 Mar 2023 09:55:42 +0000 (10:55 +0100)
While often not needed, this considerably simplifies going from a link
specific bss_config to the vif. This helps with e.g. creating link
specific debugfs entries inside drivers.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230301115906.46f701a10ed5.I20390b2a8165ff222d66585915689206ea93222b@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/mac80211.h
net/mac80211/link.c

index 6946c9d..2a1874d 100644 (file)
@@ -534,6 +534,7 @@ struct ieee80211_fils_discovery {
  * This structure keeps information about a BSS (and an association
  * to that BSS) that can change during the lifetime of the BSS.
  *
+ * @vif: reference to owning VIF
  * @addr: (link) address used locally
  * @link_id: link ID, or 0 for non-MLO
  * @htc_trig_based_pkt_ext: default PE in 4us units, if BSS supports HE
@@ -675,6 +676,8 @@ struct ieee80211_fils_discovery {
  *     bandwidth
  */
 struct ieee80211_bss_conf {
+       struct ieee80211_vif *vif;
+
        const u8 *bssid;
        unsigned int link_id;
        u8 addr[ETH_ALEN] __aligned(2);
index 8c8869c..e6f9fce 100644 (file)
@@ -34,6 +34,7 @@ void ieee80211_link_init(struct ieee80211_sub_if_data *sdata,
        link->link_id = link_id;
        link->conf = link_conf;
        link_conf->link_id = link_id;
+       link_conf->vif = &sdata->vif;
 
        INIT_WORK(&link->csa_finalize_work,
                  ieee80211_csa_finalize_work);