Skip to content

Commit

Permalink
wifi: mac80211: add macros to loop over active links
Browse files Browse the repository at this point in the history
Add a preliminary version which will be updated later
to loop over vif's and sta's active links.

Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
  • Loading branch information
Gregory Greenman authored and Johannes Berg committed Jul 22, 2022
1 parent 45b1257 commit 9f78153
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions include/net/mac80211.h
Original file line number Diff line number Diff line change
Expand Up @@ -1856,6 +1856,13 @@ struct ieee80211_vif {
u8 drv_priv[] __aligned(sizeof(void *));
};

/* FIXME: for now loop over all the available links; later will be changed
* to loop only over the active links.
*/
#define for_each_vif_active_link(vif, link, link_id) \
for (link_id = 0; link_id < ARRAY_SIZE((vif)->link_conf); link_id++) \
if ((link = rcu_dereference((vif)->link_conf[link_id])))

static inline bool ieee80211_vif_is_mesh(struct ieee80211_vif *vif)
{
#ifdef CONFIG_MAC80211_MESH
Expand Down Expand Up @@ -2248,6 +2255,14 @@ struct ieee80211_sta {
u8 drv_priv[] __aligned(sizeof(void *));
};

/* FIXME: need to loop only over links which are active and check the actual
* lock
*/
#define for_each_sta_active_link(sta, link_sta, link_id) \
for (link_id = 0; link_id < ARRAY_SIZE((sta)->link); link_id++) \
if (((link_sta) = rcu_dereference_protected((sta)->link[link_id],\
1))) \

/**
* enum sta_notify_cmd - sta notify command
*
Expand Down

0 comments on commit 9f78153

Please sign in to comment.