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