mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-05 00:20:32 +00:00
wifi: mac80211: add RCU _check() link access variants
We might sometimes need to use RCU and locking in the same code path, so add the two variants link_conf_dereference_check() and link_sta_dereference_check(). Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
3903963ed9
commit
f3630c4f82
1 changed files with 8 additions and 0 deletions
|
@ -1915,6 +1915,10 @@ static inline bool lockdep_vif_mutex_held(struct ieee80211_vif *vif)
|
|||
rcu_dereference_protected((vif)->link_conf[link_id], \
|
||||
lockdep_vif_mutex_held(vif))
|
||||
|
||||
#define link_conf_dereference_check(vif, link_id) \
|
||||
rcu_dereference_check((vif)->link_conf[link_id], \
|
||||
lockdep_vif_mutex_held(vif))
|
||||
|
||||
/**
|
||||
* enum ieee80211_key_flags - key flags
|
||||
*
|
||||
|
@ -2311,6 +2315,10 @@ static inline bool lockdep_sta_mutex_held(struct ieee80211_sta *pubsta)
|
|||
rcu_dereference_protected((sta)->link[link_id], \
|
||||
lockdep_sta_mutex_held(sta))
|
||||
|
||||
#define link_sta_dereference_check(sta, link_id) \
|
||||
rcu_dereference_check((sta)->link[link_id], \
|
||||
lockdep_sta_mutex_held(sta))
|
||||
|
||||
#define for_each_sta_active_link(vif, sta, link_sta, link_id) \
|
||||
for (link_id = 0; link_id < ARRAY_SIZE((sta)->link); link_id++) \
|
||||
if ((!(vif)->active_links || \
|
||||
|
|
Loading…
Reference in a new issue