Lines Matching refs:link_id
22 int link_id, in ieee80211_link_init() argument
26 bool deflink = link_id < 0; in ieee80211_link_init()
28 if (link_id < 0) in ieee80211_link_init()
29 link_id = 0; in ieee80211_link_init()
31 rcu_assign_pointer(sdata->vif.link_conf[link_id], link_conf); in ieee80211_link_init()
32 rcu_assign_pointer(sdata->link[link_id], link); in ieee80211_link_init()
35 link->link_id = link_id; in ieee80211_link_init()
37 link_conf->link_id = link_id; in ieee80211_link_init()
55 sdata->wdev.links[link_id].addr); in ieee80211_link_init()
57 WARN_ON(!(sdata->wdev.valid_links & BIT(link_id))); in ieee80211_link_init()
89 unsigned int link_id; in ieee80211_tear_down_links() local
91 for (link_id = 0; link_id < IEEE80211_MLD_MAX_NUM_LINKS; link_id++) { in ieee80211_tear_down_links()
92 if (!(mask & BIT(link_id))) in ieee80211_tear_down_links()
94 link = &links[link_id]->data; in ieee80211_tear_down_links()
95 if (link_id == 0 && !link) in ieee80211_tear_down_links()
112 unsigned int link_id; in ieee80211_free_links() local
114 for (link_id = 0; link_id < IEEE80211_MLD_MAX_NUM_LINKS; link_id++) in ieee80211_free_links()
115 kfree(links[link_id]); in ieee80211_free_links()
187 unsigned int link_id; in ieee80211_vif_update_links() local
206 for_each_set_bit(link_id, &add, IEEE80211_MLD_MAX_NUM_LINKS) { in ieee80211_vif_update_links()
212 links[link_id] = link; in ieee80211_vif_update_links()
223 for_each_set_bit(link_id, &rem, IEEE80211_MLD_MAX_NUM_LINKS) { in ieee80211_vif_update_links()
224 if (rcu_access_pointer(sdata->link[link_id]) != &sdata->deflink) { in ieee80211_vif_update_links()
229 to_free[link_id] = container_of(rcu_access_pointer(sdata->link[link_id]), in ieee80211_vif_update_links()
230 typeof(*links[link_id]), in ieee80211_vif_update_links()
234 RCU_INIT_POINTER(sdata->link[link_id], NULL); in ieee80211_vif_update_links()
235 RCU_INIT_POINTER(sdata->vif.link_conf[link_id], NULL); in ieee80211_vif_update_links()
239 for_each_set_bit(link_id, &add, IEEE80211_MLD_MAX_NUM_LINKS) { in ieee80211_vif_update_links()
241 rcu_access_pointer(sdata->link[link_id]) == &sdata->deflink); in ieee80211_vif_update_links()
243 link = links[link_id]; in ieee80211_vif_update_links()
244 ieee80211_link_init(sdata, link_id, &link->data, &link->conf); in ieee80211_vif_update_links()
282 for (link_id = 0; link_id < IEEE80211_MLD_MAX_NUM_LINKS; link_id++) { in ieee80211_vif_update_links()
283 kfree(links[link_id]); in ieee80211_vif_update_links()
284 links[link_id] = NULL; in ieee80211_vif_update_links()
332 unsigned int link_id; in _ieee80211_set_active_links() local
364 for_each_set_bit(link_id, &rem, IEEE80211_MLD_MAX_NUM_LINKS) { in _ieee80211_set_active_links()
367 link = sdata_dereference(sdata->link[link_id], sdata); in _ieee80211_set_active_links()
412 for_each_set_bit(link_id, &add, IEEE80211_MLD_MAX_NUM_LINKS) { in _ieee80211_set_active_links()
415 link = sdata_dereference(sdata->link[link_id], sdata); in _ieee80211_set_active_links()