wifi: mac80211: Add link iteration macro for link data
[ Upstream commit f61c7b3d442bef91dd432d468d08f72eadcc3209 ] Currently before iterating through valid links we are utilizing open-coding when checking if vif valid_links is a non-zero value. Add new macro, for_each_link_data(), which iterates through link_id and checks if it is set on vif valid_links. If it is a valid link then access link data for that link id. Signed-off-by: Muna Sinada <muna.sinada@oss.qualcomm.com> Link: https://patch.msgid.link/20250325213125.1509362-2-muna.sinada@oss.qualcomm.com Signed-off-by: Johannes Berg <johannes.berg@intel.com> Stable-dep-of: d87c3ca0f8f1 ("wifi: mac80211: finish link init before RCU publish") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
32d0b58079
commit
ebca4264c6
@@ -1186,6 +1186,15 @@ ieee80211_vif_get_shift(struct ieee80211_vif *vif)
|
||||
return shift;
|
||||
}
|
||||
|
||||
#define for_each_link_data(sdata, __link) \
|
||||
struct ieee80211_sub_if_data *__sdata = sdata; \
|
||||
for (int __link_id = 0; \
|
||||
__link_id < ARRAY_SIZE((__sdata)->link); __link_id++) \
|
||||
if ((!(__sdata)->vif.valid_links || \
|
||||
(__sdata)->vif.valid_links & BIT(__link_id)) && \
|
||||
((__link) = sdata_dereference((__sdata)->link[__link_id], \
|
||||
(__sdata))))
|
||||
|
||||
static inline int
|
||||
ieee80211_get_mbssid_beacon_len(struct cfg80211_mbssid_elems *elems,
|
||||
struct cfg80211_rnr_elems *rnr_elems,
|
||||
|
Reference in New Issue
Block a user