Lines Matching refs:link_id

3378 	int link_id = _link_id;
3387 if (link_id < 0) {
3390 link_id = 0;
3405 if (wdev->links[link_id].ap.beacon_interval) {
3414 cur_chan = wdev->links[link_id].ap.chandef.chan;
3418 result = rdev_set_ap_chanwidth(rdev, dev, link_id,
3422 wdev->links[link_id].ap.chandef = chandef;
3441 int link_id = nl80211_link_id_or_invalid(info->attrs);
3444 return __nl80211_set_channel(rdev, netdev, info, link_id);
3548 txq_params.link_id =
3551 if (txq_params.link_id >= 0 &&
3553 BIT(txq_params.link_id)))
3555 else if (txq_params.link_id >= 0 &&
3567 int link_id = nl80211_link_id_or_invalid(info->attrs);
3573 info, link_id);
3575 result = __nl80211_set_channel(rdev, netdev, info, link_id);
3924 unsigned int link_id;
3931 for_each_valid_link(wdev, link_id) {
3932 struct nlattr *link = nla_nest_start(msg, link_id + 1);
3939 if (nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id))
3942 wdev->links[link_id].addr))
3945 ret = rdev_get_channel(rdev, wdev, link_id, &chandef);
4413 int link_id, bool pairwise)
4416 if (link_id != -1) {
4426 if (link_id == -1) {
4431 if (!(wdev->valid_links & BIT(link_id))) {
4435 } else if (link_id != -1) {
4504 int link_id = nl80211_link_id_or_invalid(info->attrs);
4564 err = nl80211_validate_key_link_id(info, wdev, link_id, pairwise);
4568 err = rdev_get_key(rdev, dev, link_id, key_idx, pairwise, mac_addr,
4593 int link_id = nl80211_link_id_or_invalid(info->attrs);
4618 err = nl80211_validate_key_link_id(info, wdev, link_id, false);
4622 err = rdev_set_default_key(rdev, dev, link_id, key.idx,
4643 err = nl80211_validate_key_link_id(info, wdev, link_id, false);
4647 err = rdev_set_default_mgmt_key(rdev, dev, link_id, key.idx);
4666 err = nl80211_validate_key_link_id(info, wdev, link_id, false);
4670 return rdev_set_default_beacon_key(rdev, dev, link_id, key.idx);
4682 err = nl80211_validate_key_link_id(info, wdev, link_id, true);
4686 return rdev_add_key(rdev, dev, link_id, key.idx,
4701 int link_id = nl80211_link_id_or_invalid(info->attrs);
4749 err = nl80211_validate_key_link_id(info, wdev, link_id,
4753 err = rdev_add_key(rdev, dev, link_id, key.idx,
4770 int link_id = nl80211_link_id_or_invalid(info->attrs);
4806 err = nl80211_validate_key_link_id(info, wdev, link_id,
4810 err = rdev_del_key(rdev, dev, link_id, key.idx,
5057 static u16 he_get_txmcsmap(struct genl_info *info, unsigned int link_id,
5065 chandef = wdev_chandef(wdev, link_id);
5094 unsigned int link_id)
5107 tx_mcs_map = he_get_txmcsmap(info, link_id, he_cap);
5128 unsigned int link_id)
5165 he_tx_mcs_map = he_get_txmcsmap(info, link_id, he_cap);
5231 link_id))
5504 bcn->link_id = nl80211_link_id(attrs);
5874 unsigned int link_id)
5897 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)))
5927 unsigned int link_id = nl80211_link_id(info->attrs);
5940 if (wdev->links[link_id].ap.beacon_interval)
6083 dev, false, link_id);
6204 wdev->links[link_id].ap.beacon_interval = params->beacon_interval;
6205 wdev->links[link_id].ap.chandef = params->chandef;
6213 nl80211_send_ap_started(wdev, link_id);
6231 unsigned int link_id = nl80211_link_id(info->attrs);
6245 if (!wdev->links[link_id].ap.beacon_interval)
6285 unsigned int link_id = nl80211_link_id(info->attrs);
6288 return cfg80211_stop_ap(rdev, dev, link_id, false);
7224 params.link_sta_params.link_id =
7231 * In that case, the link_id is also expected to be valid.
7233 if (params.link_sta_params.link_id < 0)
7373 params.link_sta_params.link_id =
7610 if (params.link_sta_params.link_id < 0) {
7614 if (!(wdev->valid_links & BIT(params.link_sta_params.link_id))) {
7619 if (params.link_sta_params.link_id >= 0) {
7636 int link_id = nl80211_link_id_or_invalid(info->attrs);
7685 if (!wdev->valid_links && link_id != -1)
7689 if (wdev->valid_links && link_id >= 0 &&
7690 !(wdev->valid_links & BIT(link_id)))
7693 params.link_id = link_id;
8017 params.link_id = nl80211_link_id_or_invalid(info->attrs);
9027 unsigned int link_id;
9043 for_each_valid_link(wdev, link_id) {
9046 chandef = wdev_chandef(wdev, link_id);
10093 unsigned int link_id = nl80211_link_id(info->attrs);
10119 if (!wdev->links[link_id].ap.beacon_interval)
10232 params.link_id = link_id;
10252 unsigned int link_id;
10356 for_each_valid_link(wdev, link_id) {
10357 if (intbss == wdev->links[link_id].client.current_bss &&
10362 link_id) ||
10724 req.link_id = nl80211_link_id_or_invalid(info->attrs);
10725 if (req.link_id >= 0) {
10886 int assoc_link_id, int link_id)
10908 if (assoc_link_id == link_id)
10929 unsigned int link_id;
11056 req.link_id = nl80211_link_id_or_invalid(info->attrs);
11063 if (req.link_id < 0)
11095 link_id = nla_get_u8(attrs[NL80211_ATTR_MLO_LINK_ID]);
11097 if (req.links[link_id].bss) {
11102 req.links[link_id].bss =
11104 req.link_id, link_id);
11105 if (IS_ERR(req.links[link_id].bss)) {
11106 err = PTR_ERR(req.links[link_id].bss);
11107 req.links[link_id].bss = NULL;
11114 req.links[link_id].elems =
11116 req.links[link_id].elems_len =
11120 req.links[link_id].elems,
11121 req.links[link_id].elems_len)) {
11130 req.links[link_id].elems,
11131 req.links[link_id].elems_len)) {
11140 req.links[link_id].disabled =
11144 if (!req.links[req.link_id].bss) {
11149 if (req.links[req.link_id].elems_len) {
11156 if (req.links[req.link_id].disabled) {
11166 if (req.link_id >= 0)
11202 link_id = nla_get_u8(link_id_attr);
11204 if (link_id == req.link_id)
11207 if (!req.links[link_id].error ||
11208 WARN_ON(req.links[link_id].error > 0))
11214 err = req.links[link_id].error;
11221 for (link_id = 0; link_id < ARRAY_SIZE(req.links); link_id++)
11222 cfg80211_put_bss(&rdev->wiphy, req.links[link_id].bss);
12310 int link_id;
12332 link_id = nl80211_link_id_or_invalid(info->attrs);
12334 return rdev_tdls_mgmt(rdev, dev, peer, link_id, action_code,
12366 unsigned int link_id = nl80211_link_id(info->attrs);
12400 oper_chandef = wdev_chandef(wdev, link_id);
12470 unsigned int link_id = nl80211_link_id(info->attrs);
12480 dev, true, link_id);
12484 return rdev_set_bitrate_mask(rdev, dev, link_id, NULL, &mask);
12617 params.link_id = nl80211_link_id_or_invalid(info->attrs);
12623 if (params.link_id >= 0 &&
12624 !(wdev->valid_links & BIT(params.link_id)))
15591 int link_id;
15633 link_id = nl80211_link_id_or_invalid(info->attrs);
15636 dest, cpu_to_be16(proto), noencrypt, link_id,
15650 unsigned int link_id = nl80211_link_id(info->attrs);
15657 !wdev->links[link_id].ap.beacon_interval)
15788 unsigned int link_id)
15863 true, link_id);
15890 unsigned int link_id = nl80211_link_id(info->attrs);
15928 info, tid_config->peer, link_id);
16035 params.link_id = nl80211_link_id(info->attrs);
16073 unsigned int link_id = nl80211_link_id(info->attrs);
16092 wdev->valid_links |= BIT(link_id);
16093 ether_addr_copy(wdev->links[link_id].addr,
16096 ret = rdev_add_intf_link(rdev, wdev, link_id);
16098 wdev->valid_links &= ~BIT(link_id);
16099 eth_zero_addr(wdev->links[link_id].addr);
16107 unsigned int link_id = nl80211_link_id(info->attrs);
16122 cfg80211_remove_link(wdev, link_id);
16160 params.link_id = nla_get_u8(info->attrs[NL80211_ATTR_MLO_LINK_ID]);
16245 params.link_id = nla_get_u8(info->attrs[NL80211_ATTR_MLO_LINK_ID]);
16447 struct nlattr *link_id = info->attrs[NL80211_ATTR_MLO_LINK_ID];
16456 (!link_id ||
16457 !(wdev->valid_links & BIT(nla_get_u8(link_id))))) {
16463 if (!wdev->valid_links && link_id) {
18366 int link_id = __ffs(link_mask);
18368 link = nla_nest_start(msg, link_id + 1);
18372 if (nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id))
18376 link_mask &= ~(1 << link_id);
18875 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, info->link_id)) ||
18982 int link_id,
19015 (link_id >= 0 &&
19016 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)) ||
19036 bool unencrypted, int link_id)
19040 trace_cfg80211_rx_control_port(dev, skb, unencrypted, link_id);
19041 ret = __nl80211_rx_control_port(dev, skb, unencrypted, link_id,
19346 unsigned int link_id,
19370 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id))
19396 unsigned int link_id)
19403 WARN_INVALID_LINK_ID(wdev, link_id);
19405 trace_cfg80211_ch_switch_notify(dev, chandef, link_id);
19410 if (!WARN_ON(!wdev->links[link_id].client.current_bss))
19411 cfg80211_update_assoc_bss_entry(wdev, link_id,
19420 wdev->links[link_id].ap.chandef = *chandef;
19433 nl80211_ch_switch_notify(rdev, dev, link_id, chandef, GFP_KERNEL,
19440 unsigned int link_id, u8 count,
19448 WARN_INVALID_LINK_ID(wdev, link_id);
19450 trace_cfg80211_ch_switch_started_notify(dev, chandef, link_id);
19453 nl80211_ch_switch_notify(rdev, dev, link_id, chandef, GFP_KERNEL,
19461 u64 color_bitmap, u8 link_id)
19485 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id))
20069 void nl80211_send_ap_stopped(struct wireless_dev *wdev, unsigned int link_id)
20089 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)))