mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-09 06:33:34 +00:00
wifi: mac80211: add macros to loop over active links
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>
This commit is contained in:
parent
45b12570a4
commit
9f781533bb
@ -1856,6 +1856,13 @@ struct ieee80211_vif {
|
|||||||
u8 drv_priv[] __aligned(sizeof(void *));
|
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)
|
static inline bool ieee80211_vif_is_mesh(struct ieee80211_vif *vif)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_MAC80211_MESH
|
#ifdef CONFIG_MAC80211_MESH
|
||||||
@ -2248,6 +2255,14 @@ struct ieee80211_sta {
|
|||||||
u8 drv_priv[] __aligned(sizeof(void *));
|
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
|
* enum sta_notify_cmd - sta notify command
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user