Lines Matching defs:link_id
3363 int link_id = _link_id;
3372 if (link_id < 0) {
3375 link_id = 0;
3388 if (wdev->links[link_id].ap.beacon_interval) {
3397 cur_chan = wdev->links[link_id].ap.chandef.chan;
3401 result = rdev_set_ap_chanwidth(rdev, dev, link_id,
3405 wdev->links[link_id].ap.chandef = chandef;
3424 int link_id = nl80211_link_id_or_invalid(info->attrs);
3429 ret = __nl80211_set_channel(rdev, netdev, info, link_id);
3536 txq_params.link_id =
3540 if (txq_params.link_id >= 0 &&
3542 BIT(txq_params.link_id)))
3544 else if (txq_params.link_id >= 0 &&
3557 int link_id = nl80211_link_id_or_invalid(info->attrs);
3564 info, link_id);
3567 result = __nl80211_set_channel(rdev, netdev, info, link_id);
3912 unsigned int link_id;
3919 for_each_valid_link(wdev, link_id) {
3920 struct nlattr *link = nla_nest_start(msg, link_id + 1);
3927 if (nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id))
3930 wdev->links[link_id].addr))
3933 ret = rdev_get_channel(rdev, wdev, link_id, &chandef);
4408 int link_id, bool pairwise)
4411 if (link_id != -1) {
4421 if (link_id == -1) {
4426 if (!(wdev->valid_links & BIT(link_id))) {
4430 } else if (link_id != -1) {
4499 int link_id = nl80211_link_id_or_invalid(info->attrs);
4559 err = nl80211_validate_key_link_id(info, wdev, link_id, pairwise);
4563 err = rdev_get_key(rdev, dev, link_id, key_idx, pairwise, mac_addr,
4588 int link_id = nl80211_link_id_or_invalid(info->attrs);
4617 err = nl80211_validate_key_link_id(info, wdev, link_id, false);
4621 err = rdev_set_default_key(rdev, dev, link_id, key.idx,
4645 err = nl80211_validate_key_link_id(info, wdev, link_id, false);
4649 err = rdev_set_default_mgmt_key(rdev, dev, link_id, key.idx);
4671 err = nl80211_validate_key_link_id(info, wdev, link_id, false);
4675 err = rdev_set_default_beacon_key(rdev, dev, link_id, key.idx);
4691 err = nl80211_validate_key_link_id(info, wdev, link_id, true);
4695 err = rdev_add_key(rdev, dev, link_id, key.idx,
4714 int link_id = nl80211_link_id_or_invalid(info->attrs);
4763 err = nl80211_validate_key_link_id(info, wdev, link_id,
4767 err = rdev_add_key(rdev, dev, link_id, key.idx,
4785 int link_id = nl80211_link_id_or_invalid(info->attrs);
4822 err = nl80211_validate_key_link_id(info, wdev, link_id,
4826 err = rdev_del_key(rdev, dev, link_id, key.idx,
5074 static u16 he_get_txmcsmap(struct genl_info *info, unsigned int link_id,
5082 chandef = wdev_chandef(wdev, link_id);
5111 unsigned int link_id)
5124 tx_mcs_map = he_get_txmcsmap(info, link_id, he_cap);
5145 unsigned int link_id)
5182 he_tx_mcs_map = he_get_txmcsmap(info, link_id, he_cap);
5248 link_id))
5521 bcn->link_id = nl80211_link_id(attrs);
5880 unsigned int link_id)
5903 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)))
5933 unsigned int link_id = nl80211_link_id(info->attrs);
5946 if (wdev->links[link_id].ap.beacon_interval)
6099 dev, false, link_id);
6220 wdev->links[link_id].ap.beacon_interval = params->beacon_interval;
6221 wdev->links[link_id].ap.chandef = params->chandef;
6229 nl80211_send_ap_started(wdev, link_id);
6249 unsigned int link_id = nl80211_link_id(info->attrs);
6262 if (!wdev->links[link_id].ap.beacon_interval)
6282 unsigned int link_id = nl80211_link_id(info->attrs);
6285 return cfg80211_stop_ap(rdev, dev, link_id, false);
7218 params.link_sta_params.link_id =
7225 * In that case, the link_id is also expected to be valid.
7227 if (params.link_sta_params.link_id < 0)
7369 params.link_sta_params.link_id =
7602 if (params.link_sta_params.link_id < 0) {
7606 if (!(wdev->valid_links & BIT(params.link_sta_params.link_id))) {
7611 if (params.link_sta_params.link_id >= 0) {
8004 params.link_id = nl80211_link_id_or_invalid(info->attrs);
9017 unsigned int link_id;
9033 for_each_valid_link(wdev, link_id) {
9036 chandef = wdev_chandef(wdev, link_id);
10093 unsigned int link_id = nl80211_link_id(info->attrs);
10120 if (!wdev->links[link_id].ap.beacon_interval)
10311 unsigned int link_id;
10416 for_each_valid_link(wdev, link_id) {
10417 if (intbss == wdev->links[link_id].client.current_bss &&
10422 link_id) ||
10771 req.link_id = nl80211_link_id_or_invalid(info->attrs);
10772 if (req.link_id >= 0) {
10974 unsigned int link_id;
11091 req.link_id = nl80211_link_id_or_invalid(info->attrs);
11098 if (req.link_id < 0)
11129 link_id = nla_get_u8(attrs[NL80211_ATTR_MLO_LINK_ID]);
11131 if (req.links[link_id].bss) {
11135 req.links[link_id].bss =
11137 if (IS_ERR(req.links[link_id].bss)) {
11138 err = PTR_ERR(req.links[link_id].bss);
11139 req.links[link_id].bss = NULL;
11144 req.links[link_id].elems =
11146 req.links[link_id].elems_len =
11150 req.links[link_id].elems,
11151 req.links[link_id].elems_len)) {
11159 req.links[link_id].elems,
11160 req.links[link_id].elems_len)) {
11168 req.links[link_id].disabled =
11172 if (!req.links[req.link_id].bss) {
11177 if (req.links[req.link_id].elems_len) {
11184 if (req.links[req.link_id].disabled) {
11194 if (req.link_id >= 0)
11220 for (link_id = 0; link_id < ARRAY_SIZE(req.links); link_id++)
11221 cfg80211_put_bss(&rdev->wiphy, req.links[link_id].bss);
12290 int link_id;
12312 link_id = nl80211_link_id_or_invalid(info->attrs);
12314 return rdev_tdls_mgmt(rdev, dev, peer, link_id, action_code,
12346 unsigned int link_id = nl80211_link_id(info->attrs);
12381 oper_chandef = wdev_chandef(wdev, link_id);
12455 unsigned int link_id = nl80211_link_id(info->attrs);
12467 dev, true, link_id);
12471 err = rdev_set_bitrate_mask(rdev, dev, link_id, NULL, &mask);
12610 params.link_id = nl80211_link_id_or_invalid(info->attrs);
12616 if (params.link_id >= 0 &&
12617 !(wdev->valid_links & BIT(params.link_id))) {
15657 int link_id;
15706 link_id = nl80211_link_id_or_invalid(info->attrs);
15709 dest, cpu_to_be16(proto), noencrypt, link_id,
15726 unsigned int link_id = nl80211_link_id(info->attrs);
15733 !wdev->links[link_id].ap.beacon_interval)
15864 unsigned int link_id)
15939 true, link_id);
15966 unsigned int link_id = nl80211_link_id(info->attrs);
16006 info, tid_config->peer, link_id);
16153 unsigned int link_id = nl80211_link_id(info->attrs);
16173 wdev->valid_links |= BIT(link_id);
16174 ether_addr_copy(wdev->links[link_id].addr,
16177 ret = rdev_add_intf_link(rdev, wdev, link_id);
16179 wdev->valid_links &= ~BIT(link_id);
16180 eth_zero_addr(wdev->links[link_id].addr);
16189 unsigned int link_id = nl80211_link_id(info->attrs);
16205 cfg80211_remove_link(wdev, link_id);
16244 params.link_id = nla_get_u8(info->attrs[NL80211_ATTR_MLO_LINK_ID]);
16334 params.link_id = nla_get_u8(info->attrs[NL80211_ATTR_MLO_LINK_ID]);
16511 struct nlattr *link_id = info->attrs[NL80211_ATTR_MLO_LINK_ID];
16520 (!link_id ||
16521 !(wdev->valid_links & BIT(nla_get_u8(link_id))))) {
16527 if (!wdev->valid_links && link_id) {
18383 int link_id = __ffs(link_mask);
18385 link = nla_nest_start(msg, link_id + 1);
18389 if (nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id))
18393 link_mask &= ~(1 << link_id);
18892 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, info->link_id)) ||
18999 int link_id,
19032 (link_id >= 0 &&
19033 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)) ||
19053 bool unencrypted, int link_id)
19057 trace_cfg80211_rx_control_port(dev, skb, unencrypted, link_id);
19058 ret = __nl80211_rx_control_port(dev, skb, unencrypted, link_id,
19367 unsigned int link_id,
19391 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id))
19420 unsigned int link_id, u16 punct_bitmap)
19427 WARN_INVALID_LINK_ID(wdev, link_id);
19429 trace_cfg80211_ch_switch_notify(dev, chandef, link_id, punct_bitmap);
19434 if (!WARN_ON(!wdev->links[link_id].client.current_bss))
19435 cfg80211_update_assoc_bss_entry(wdev, link_id,
19444 wdev->links[link_id].ap.chandef = *chandef;
19456 nl80211_ch_switch_notify(rdev, dev, link_id, chandef, GFP_KERNEL,
19464 unsigned int link_id, u8 count,
19472 WARN_INVALID_LINK_ID(wdev, link_id);
19474 trace_cfg80211_ch_switch_started_notify(dev, chandef, link_id,
19478 nl80211_ch_switch_notify(rdev, dev, link_id, chandef, GFP_KERNEL,
20085 void nl80211_send_ap_stopped(struct wireless_dev *wdev, unsigned int link_id)
20105 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)))