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 6946c9d95aecef58bfa76865e0c283839e6f13aa..2a1874d994e0f73266148d2ebc2f606aa7474607 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 8c8869cc1fb4ce15a39ee6d9a5794846ec8c58be..e6f9fce1dadb90487f72b671492f6f16b55f3c84 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);