Lines Matching defs:link_id
279 unsigned int *link_id)
288 u8 _link_id = link_sta->link_id;
291 if (link_id)
292 *link_id = _link_id;
303 if (link_id)
304 *link_id = _link_id;
352 static void sta_remove_link(struct sta_info *sta, unsigned int link_id,
358 link_sta = rcu_access_pointer(sta->link[link_id]);
374 sta->sta.valid_links &= ~BIT(link_id);
375 RCU_INIT_POINTER(sta->link[link_id], NULL);
376 RCU_INIT_POINTER(sta->sta.link[link_id], NULL);
511 unsigned int link_id,
516 link_info->link_id = link_id;
519 link_sta->link_id = link_id;
520 rcu_assign_pointer(sta->link[link_id], link_info);
521 rcu_assign_pointer(sta->sta.link[link_id], link_sta);
529 const u8 *addr, int link_id, const u8 *link_addr,
549 if (link_id >= 0) {
550 sta_info_add_link(sta, link_id, &sta->deflink,
552 sta->sta.valid_links = BIT(link_id);
712 unsigned int link_id,
716 return __sta_info_alloc(sdata, mld_addr, link_id, link_addr, gfp);
2290 int link_id;
2298 for (link_id = 0; link_id < ARRAY_SIZE((sta)->link); link_id++) {
2302 if (!(active_links & BIT(link_id)))
2305 link_sta = rcu_dereference(sta->sta.link[link_id]);
2874 int ieee80211_sta_allocate_link(struct sta_info *sta, unsigned int link_id)
2886 if (WARN_ON(sta->sta.valid_links & BIT(link_id) ||
2887 sta->link[link_id]))
2900 sta_info_add_link(sta, link_id, &alloc->info, &alloc->sta);
2907 void ieee80211_sta_free_link(struct sta_info *sta, unsigned int link_id)
2911 sta_remove_link(sta, link_id, false);
2914 int ieee80211_sta_activate_link(struct sta_info *sta, unsigned int link_id)
2919 u16 new_links = old_links | BIT(link_id);
2922 link_sta = rcu_dereference_protected(sta->link[link_id],
2941 ieee80211_recalc_min_chandef(sdata, link_id);
2952 sta_remove_link(sta, link_id, false);
2962 void ieee80211_sta_remove_link(struct sta_info *sta, unsigned int link_id)
2969 sta->sta.valid_links &= ~BIT(link_id);
2975 sta_remove_link(sta, link_id, true);