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()
58 sdata->wdev.links[link_id].addr); in ieee80211_link_init()
60 WARN_ON(!(sdata->wdev.valid_links & BIT(link_id))); in ieee80211_link_init()
85 if (link->sdata->wdev.links[link->link_id].cac_started) { in ieee80211_link_stop()
91 GFP_KERNEL, link->link_id); in ieee80211_link_stop()
107 unsigned int link_id; in ieee80211_tear_down_links() local
109 for (link_id = 0; link_id < IEEE80211_MLD_MAX_NUM_LINKS; link_id++) { in ieee80211_tear_down_links()
110 if (!(mask & BIT(link_id))) in ieee80211_tear_down_links()
112 link = &links[link_id]->data; in ieee80211_tear_down_links()
113 if (link_id == 0 && !link) in ieee80211_tear_down_links()
130 unsigned int link_id; in ieee80211_free_links() local
132 for (link_id = 0; link_id < IEEE80211_MLD_MAX_NUM_LINKS; link_id++) in ieee80211_free_links()
133 kfree(links[link_id]); in ieee80211_free_links()
205 unsigned int link_id; in ieee80211_vif_update_links() local
224 for_each_set_bit(link_id, &add, IEEE80211_MLD_MAX_NUM_LINKS) { in ieee80211_vif_update_links()
230 links[link_id] = link; in ieee80211_vif_update_links()
241 for_each_set_bit(link_id, &rem, IEEE80211_MLD_MAX_NUM_LINKS) { in ieee80211_vif_update_links()
242 if (rcu_access_pointer(sdata->link[link_id]) != &sdata->deflink) { in ieee80211_vif_update_links()
247 to_free[link_id] = container_of(rcu_access_pointer(sdata->link[link_id]), in ieee80211_vif_update_links()
248 typeof(*links[link_id]), in ieee80211_vif_update_links()
252 RCU_INIT_POINTER(sdata->link[link_id], NULL); in ieee80211_vif_update_links()
253 RCU_INIT_POINTER(sdata->vif.link_conf[link_id], NULL); in ieee80211_vif_update_links()
260 for_each_set_bit(link_id, &add, IEEE80211_MLD_MAX_NUM_LINKS) { in ieee80211_vif_update_links()
262 rcu_access_pointer(sdata->link[link_id]) == &sdata->deflink); in ieee80211_vif_update_links()
264 link = links[link_id]; in ieee80211_vif_update_links()
265 ieee80211_link_init(sdata, link_id, &link->data, &link->conf); in ieee80211_vif_update_links()
305 for (link_id = 0; link_id < IEEE80211_MLD_MAX_NUM_LINKS; link_id++) { in ieee80211_vif_update_links()
306 kfree(links[link_id]); in ieee80211_vif_update_links()
307 links[link_id] = NULL; in ieee80211_vif_update_links()
338 unsigned int link_id; in _ieee80211_set_active_links() local
370 for_each_set_bit(link_id, &rem, IEEE80211_MLD_MAX_NUM_LINKS) { in _ieee80211_set_active_links()
373 link = sdata_dereference(sdata->link[link_id], sdata); in _ieee80211_set_active_links()
392 for_each_set_bit(link_id, &add, IEEE80211_MLD_MAX_NUM_LINKS) { in _ieee80211_set_active_links()
395 link = sdata_dereference(sdata->link[link_id], sdata); in _ieee80211_set_active_links()
461 for_each_set_bit(link_id, &add, IEEE80211_MLD_MAX_NUM_LINKS) { in _ieee80211_set_active_links()
464 link = sdata_dereference(sdata->link[link_id], sdata); in _ieee80211_set_active_links()