Lines Matching refs:assoc_data
1606 struct ieee80211_mgd_assoc_data *assoc_data) in ieee80211_assoc_add_rates() argument
1610 if (assoc_data->supp_rates_len && in ieee80211_assoc_add_rates()
1619 assoc_data->supp_rates, in ieee80211_assoc_add_rates()
1620 assoc_data->supp_rates_len, in ieee80211_assoc_add_rates()
1783 struct ieee80211_mgd_assoc_data *assoc_data);
1794 struct ieee80211_mgd_assoc_data *assoc_data) in ieee80211_add_link_elems() argument
1797 struct cfg80211_bss *cbss = assoc_data->link[link_id].bss; in ieee80211_add_link_elems()
1851 ieee80211_assoc_add_rates(local, skb, width, sband, assoc_data); in ieee80211_add_link_elems()
1897 assoc_data->link[link_id].conn.mode >= IEEE80211_CONN_MODE_HT) { in ieee80211_add_link_elems()
1899 assoc_data->link[link_id].ap_ht_param, in ieee80211_add_link_elems()
1901 &assoc_data->link[link_id].conn); in ieee80211_add_link_elems()
1911 assoc_data->link[link_id].conn.mode >= IEEE80211_CONN_MODE_VHT && in ieee80211_add_link_elems()
1915 &assoc_data->link[link_id].ap_vht_cap, in ieee80211_add_link_elems()
1916 &assoc_data->link[link_id].conn); in ieee80211_add_link_elems()
1928 if (assoc_data->link[link_id].conn.mode >= IEEE80211_CONN_MODE_HE) { in ieee80211_add_link_elems()
1930 &assoc_data->link[link_id].conn); in ieee80211_add_link_elems()
1957 if (assoc_data->link[link_id].conn.mode >= IEEE80211_CONN_MODE_EHT) in ieee80211_add_link_elems()
1959 if (assoc_data->link[link_id].conn.mode >= IEEE80211_CONN_MODE_UHR) in ieee80211_add_link_elems()
1962 if (link_id == assoc_data->assoc_link_id) in ieee80211_add_link_elems()
1964 present_elems, assoc_data); in ieee80211_add_link_elems()
1969 if (assoc_data->link[link_id].conn.mode >= IEEE80211_CONN_MODE_EHT) in ieee80211_add_link_elems()
1971 &assoc_data->link[link_id].conn); in ieee80211_add_link_elems()
1973 if (assoc_data->link[link_id].conn.mode >= IEEE80211_CONN_MODE_UHR) in ieee80211_add_link_elems()
2051 struct ieee80211_mgd_assoc_data *assoc_data) in ieee80211_assoc_add_ml_elem() argument
2095 if (assoc_data->ext_mld_capa_ops) { in ieee80211_assoc_add_ml_elem()
2099 skb_put_data(skb, &assoc_data->ext_mld_capa_ops, in ieee80211_assoc_add_ml_elem()
2100 sizeof(assoc_data->ext_mld_capa_ops)); in ieee80211_assoc_add_ml_elem()
2111 if (!assoc_data->link[link_id].bss || in ieee80211_assoc_add_ml_elem()
2112 link_id == assoc_data->assoc_link_id) in ieee80211_assoc_add_ml_elem()
2115 extra_elems = assoc_data->link[link_id].elems; in ieee80211_assoc_add_ml_elem()
2116 extra_elems_len = assoc_data->link[link_id].elems_len; in ieee80211_assoc_add_ml_elem()
2126 skb_put_data(skb, assoc_data->link[link_id].addr, in ieee80211_assoc_add_ml_elem()
2144 assoc_data); in ieee80211_assoc_add_ml_elem()
2220 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data; in ieee80211_send_assoc() local
2240 if (assoc_data->ie_len) in ieee80211_send_assoc()
2242 assoc_data->ie, in ieee80211_send_assoc()
2243 assoc_data->ie_len); in ieee80211_send_assoc()
2249 2 + assoc_data->ssid_len + /* SSID */ in ieee80211_send_assoc()
2250 assoc_data->ie_len + /* extra IEs */ in ieee80211_send_assoc()
2251 (assoc_data->fils_kek_len ? 16 /* AES-SIV */ : 0) + in ieee80211_send_assoc()
2255 struct cfg80211_bss *cbss = assoc_data->link[link_id].bss; in ieee80211_send_assoc()
2256 size_t elems_len = assoc_data->link[link_id].elems_len; in ieee80211_send_assoc()
2290 link = sdata_dereference(sdata->link[assoc_data->assoc_link_id], sdata); in ieee80211_send_assoc()
2294 if (WARN_ON(!assoc_data->link[assoc_data->assoc_link_id].bss)) in ieee80211_send_assoc()
2317 listen_int = cpu_to_le16(assoc_data->s1g ? in ieee80211_send_assoc()
2320 if (!is_zero_ether_addr(assoc_data->prev_ap_addr)) { in ieee80211_send_assoc()
2327 assoc_data->prev_ap_addr, ETH_ALEN); in ieee80211_send_assoc()
2339 pos = skb_put(skb, 2 + assoc_data->ssid_len); in ieee80211_send_assoc()
2342 *pos++ = assoc_data->ssid_len; in ieee80211_send_assoc()
2343 memcpy(pos, assoc_data->ssid, assoc_data->ssid_len); in ieee80211_send_assoc()
2361 assoc_data->ie, in ieee80211_send_assoc()
2362 assoc_data->ie_len, in ieee80211_send_assoc()
2363 assoc_data->assoc_link_id, link, in ieee80211_send_assoc()
2364 present_elems, assoc_data); in ieee80211_send_assoc()
2368 if (assoc_data->ie_len) { in ieee80211_send_assoc()
2369 noffset = ieee80211_ie_split_vendor(assoc_data->ie, in ieee80211_send_assoc()
2370 assoc_data->ie_len, in ieee80211_send_assoc()
2372 skb_put_data(skb, assoc_data->ie + offset, noffset - offset); in ieee80211_send_assoc()
2376 if (assoc_data->wmm) { in ieee80211_send_assoc()
2377 if (assoc_data->uapsd) { in ieee80211_send_assoc()
2389 if (assoc_data->ie_len) { in ieee80211_send_assoc()
2390 noffset = assoc_data->ie_len; in ieee80211_send_assoc()
2391 skb_put_data(skb, assoc_data->ie + offset, noffset - offset); in ieee80211_send_assoc()
2394 if (assoc_data->fils_kek_len) { in ieee80211_send_assoc()
2395 ret = fils_encrypt_assoc_req(skb, assoc_data); in ieee80211_send_assoc()
2412 info.link_id = assoc_data->assoc_link_id; in ieee80211_send_assoc()
4004 struct ieee80211_mgd_assoc_data *assoc_data, in ieee80211_set_associated() argument
4017 struct cfg80211_bss *cbss = assoc_data->link[link_id].bss; in ieee80211_set_associated()
4021 assoc_data->link[link_id].status != WLAN_STATUS_SUCCESS) in ieee80211_set_associated()
4051 struct cfg80211_bss *cbss = assoc_data->link[link_id].bss; in ieee80211_set_associated()
4056 assoc_data->link[link_id].status != WLAN_STATUS_SUCCESS) in ieee80211_set_associated()
4598 else if (ifmgd->assoc_data && ifmgd->assoc_data->link[0].bss) in ieee80211_ap_probereq_get()
4599 cbss = ifmgd->assoc_data->link[0].bss; in ieee80211_ap_probereq_get()
4814 struct ieee80211_mgd_assoc_data *assoc_data = sdata->u.mgd.assoc_data; in ieee80211_destroy_assoc_data() local
4818 sdata->u.mgd.assoc_data = NULL; in ieee80211_destroy_assoc_data()
4827 sta_info_destroy_addr(sdata, assoc_data->ap_addr); in ieee80211_destroy_assoc_data()
4842 ARRAY_SIZE(assoc_data->link)); in ieee80211_destroy_assoc_data()
4845 data.bss[i] = assoc_data->link[i].bss; in ieee80211_destroy_assoc_data()
4848 data.ap_mld_addr = assoc_data->ap_addr; in ieee80211_destroy_assoc_data()
4857 kfree(assoc_data); in ieee80211_destroy_assoc_data()
5123 if (ifmgd->assoc_data && in ieee80211_rx_mgmt_deauth()
5124 ether_addr_equal(mgmt->bssid, ifmgd->assoc_data->ap_addr)) { in ieee80211_rx_mgmt_deauth()
5127 ifmgd->assoc_data->ap_addr, reason_code, in ieee80211_rx_mgmt_deauth()
5309 struct ieee80211_mgd_assoc_data *assoc_data = in ieee80211_assoc_config_link() local
5310 sdata->u.mgd.assoc_data ?: sdata->u.mgd.reconf.add_links_data; in ieee80211_assoc_config_link()
5318 .link_id = link_id == assoc_data->assoc_link_id ? -1 : link_id, in ieee80211_assoc_config_link()
5337 if (link_id == assoc_data->assoc_link_id) { in ieee80211_assoc_config_link()
5344 assoc_data->link[link_id].status = WLAN_STATUS_SUCCESS; in ieee80211_assoc_config_link()
5371 assoc_data->link[link_id].status = get_unaligned_le16(ptr + 2); in ieee80211_assoc_config_link()
5377 if (assoc_data->link[link_id].status != WLAN_STATUS_SUCCESS) { in ieee80211_assoc_config_link()
5379 assoc_data->link[link_id].status); in ieee80211_assoc_config_link()
5403 ((assoc_data->wmm && !elems->wmm_param) || in ieee80211_assoc_config_link()
5432 if (assoc_data->wmm && in ieee80211_assoc_config_link()
5498 link_id == assoc_data->assoc_link_id, in ieee80211_assoc_config_link()
6374 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data; in ieee80211_assoc_success() local
6387 sta = sta_info_get(sdata, assoc_data->ap_addr); in ieee80211_assoc_success()
6391 sta->sta.spp_amsdu = assoc_data->spp_amsdu; in ieee80211_assoc_success()
6395 if (!assoc_data->link[link_id].bss) in ieee80211_assoc_success()
6400 if (link_id != assoc_data->assoc_link_id) { in ieee80211_assoc_success()
6438 struct cfg80211_bss *cbss = assoc_data->link[link_id].bss; in ieee80211_assoc_success()
6453 assoc_data->link[link_id].bss->bssid, in ieee80211_assoc_success()
6454 link_id == assoc_data->assoc_link_id ? in ieee80211_assoc_success()
6480 if (link_id != assoc_data->assoc_link_id) { in ieee80211_assoc_success()
6481 link->u.mgd.conn = assoc_data->link[link_id].conn; in ieee80211_assoc_success()
6493 assoc_data->link[link_id].bss); in ieee80211_assoc_success()
6498 assoc_data->link[link_id].bss, in ieee80211_assoc_success()
6503 if (assoc_data->link[link_id].status != WLAN_STATUS_SUCCESS) { in ieee80211_assoc_success()
6509 if (link_id != assoc_data->assoc_link_id) { in ieee80211_assoc_success()
6548 ieee80211_set_associated(sdata, assoc_data, changed); in ieee80211_assoc_success()
6575 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data; in ieee80211_rx_mgmt_assoc_resp() local
6602 if (!assoc_data) in ieee80211_rx_mgmt_assoc_resp()
6605 info.link_id = assoc_data->assoc_link_id; in ieee80211_rx_mgmt_assoc_resp()
6608 assoc_data->link[assoc_data->assoc_link_id].conn.mode; in ieee80211_rx_mgmt_assoc_resp()
6610 if (!ether_addr_equal(assoc_data->ap_addr, mgmt->bssid) || in ieee80211_rx_mgmt_assoc_resp()
6611 !ether_addr_equal(assoc_data->ap_addr, mgmt->sa)) in ieee80211_rx_mgmt_assoc_resp()
6625 if (assoc_data->s1g) { in ieee80211_rx_mgmt_assoc_resp()
6641 if (assoc_data->fils_kek_len && in ieee80211_rx_mgmt_assoc_resp()
6642 fils_decrypt_assoc_resp(sdata, (u8 *)mgmt, &len, assoc_data) < 0) in ieee80211_rx_mgmt_assoc_resp()
6662 aid &= assoc_data->s1g ? 0x1fff : 0x7ff; in ieee80211_rx_mgmt_assoc_resp()
6666 reassoc ? "Rea" : "A", assoc_data->ap_addr, in ieee80211_rx_mgmt_assoc_resp()
6676 cfg80211_assoc_comeback(sdata->dev, assoc_data->ap_addr, in ieee80211_rx_mgmt_assoc_resp()
6683 assoc_data->ap_addr, tu, ms); in ieee80211_rx_mgmt_assoc_resp()
6684 assoc_data->timeout = jiffies + msecs_to_jiffies(ms); in ieee80211_rx_mgmt_assoc_resp()
6685 assoc_data->timeout_started = true; in ieee80211_rx_mgmt_assoc_resp()
6686 assoc_data->comeback = true; in ieee80211_rx_mgmt_assoc_resp()
6688 run_again(sdata, assoc_data->timeout); in ieee80211_rx_mgmt_assoc_resp()
6694 assoc_data->ap_addr, status_code); in ieee80211_rx_mgmt_assoc_resp()
6713 assoc_data->ap_addr); in ieee80211_rx_mgmt_assoc_resp()
6719 if (memcmp(assoc_data->ap_addr, in ieee80211_rx_mgmt_assoc_resp()
6724 assoc_data->ap_addr); in ieee80211_rx_mgmt_assoc_resp()
6737 sdata->vif.cfg.s1g = assoc_data->s1g; in ieee80211_rx_mgmt_assoc_resp()
6755 if (!assoc_data->link[link_id].bss) in ieee80211_rx_mgmt_assoc_resp()
6758 resp.links[link_id].bss = assoc_data->link[link_id].bss; in ieee80211_rx_mgmt_assoc_resp()
6760 assoc_data->link[link_id].addr); in ieee80211_rx_mgmt_assoc_resp()
6761 resp.links[link_id].status = assoc_data->link[link_id].status; in ieee80211_rx_mgmt_assoc_resp()
7545 if (ifmgd->assoc_data && ifmgd->assoc_data->need_beacon && in ieee80211_rx_mgmt_beacon()
7547 ieee80211_rx_our_beacon(bssid, ifmgd->assoc_data->link[0].bss)) { in ieee80211_rx_mgmt_beacon()
7548 parse_params.bss = ifmgd->assoc_data->link[0].bss; in ieee80211_rx_mgmt_beacon()
7558 ifmgd->assoc_data->need_beacon = false; in ieee80211_rx_mgmt_beacon()
7581 ifmgd->assoc_data->timeout = jiffies; in ieee80211_rx_mgmt_beacon()
7582 ifmgd->assoc_data->timeout_started = true; in ieee80211_rx_mgmt_beacon()
7583 run_again(sdata, ifmgd->assoc_data->timeout); in ieee80211_rx_mgmt_beacon()
8493 struct ieee80211_mgd_assoc_data *assoc_data = sdata->u.mgd.assoc_data; in ieee80211_do_assoc() local
8499 assoc_data->tries++; in ieee80211_do_assoc()
8500 assoc_data->comeback = false; in ieee80211_do_assoc()
8501 if (assoc_data->tries > IEEE80211_ASSOC_MAX_TRIES) { in ieee80211_do_assoc()
8503 assoc_data->ap_addr); in ieee80211_do_assoc()
8510 assoc_data->link[assoc_data->assoc_link_id].bss); in ieee80211_do_assoc()
8516 assoc_data->ap_addr, assoc_data->tries, in ieee80211_do_assoc()
8523 assoc_data->timeout = jiffies + IEEE80211_ASSOC_TIMEOUT; in ieee80211_do_assoc()
8524 assoc_data->timeout_started = true; in ieee80211_do_assoc()
8525 run_again(sdata, assoc_data->timeout); in ieee80211_do_assoc()
8527 assoc_data->timeout = in ieee80211_do_assoc()
8530 assoc_data->timeout_started = true; in ieee80211_do_assoc()
8531 run_again(sdata, assoc_data->timeout); in ieee80211_do_assoc()
8577 } else if (ifmgd->assoc_data && in ieee80211_sta_work()
8578 !ifmgd->assoc_data->comeback && in ieee80211_sta_work()
8591 ifmgd->assoc_data->timeout = in ieee80211_sta_work()
8593 run_again(sdata, ifmgd->assoc_data->timeout); in ieee80211_sta_work()
8595 ifmgd->assoc_data->timeout = jiffies - 1; in ieee80211_sta_work()
8597 ifmgd->assoc_data->timeout_started = true; in ieee80211_sta_work()
8627 if (ifmgd->assoc_data && ifmgd->assoc_data->timeout_started && in ieee80211_sta_work()
8628 time_after(jiffies, ifmgd->assoc_data->timeout)) { in ieee80211_sta_work()
8629 if ((ifmgd->assoc_data->need_beacon && in ieee80211_sta_work()
8641 } else if (ifmgd->assoc_data && ifmgd->assoc_data->timeout_started) in ieee80211_sta_work()
8642 run_again(sdata, ifmgd->assoc_data->timeout); in ieee80211_sta_work()
8836 if (ifmgd->auth_data || ifmgd->assoc_data) { in ieee80211_mgd_quiesce()
8839 ifmgd->assoc_data->ap_addr; in ieee80211_mgd_quiesce()
8850 if (ifmgd->assoc_data) in ieee80211_mgd_quiesce()
9020 if (sdata->u.mgd.assoc_data) in ieee80211_mgd_setup_link()
9022 sdata->u.mgd.assoc_data->link[link_id].addr); in ieee80211_mgd_setup_link()
9095 if (WARN_ON(!ifmgd->auth_data && !ifmgd->assoc_data)) { in ieee80211_prep_connection()
9384 if (ifmgd->assoc_data) in ieee80211_mgd_auth()
9540 struct ieee80211_mgd_assoc_data *assoc_data, in ieee80211_setup_assoc_link() argument
9552 cbss = assoc_data->link[link_id].bss; in ieee80211_setup_assoc_link()
9568 assoc_data->supp_rates = bss->supp_rates; in ieee80211_setup_assoc_link()
9569 assoc_data->supp_rates_len = bss->supp_rates_len; in ieee80211_setup_assoc_link()
9574 memcpy(assoc_data->ie_pos, req->links[link_id].elems, in ieee80211_setup_assoc_link()
9576 assoc_data->link[link_id].elems = assoc_data->ie_pos; in ieee80211_setup_assoc_link()
9577 assoc_data->link[link_id].elems_len = req->links[link_id].elems_len; in ieee80211_setup_assoc_link()
9578 assoc_data->ie_pos += req->links[link_id].elems_len; in ieee80211_setup_assoc_link()
9659 struct ieee80211_mgd_assoc_data *assoc_data, in ieee80211_mgd_get_ap_ht_vht_capa() argument
9662 struct cfg80211_bss *cbss = assoc_data->link[link_id].bss; in ieee80211_mgd_get_ap_ht_vht_capa()
9672 if (assoc_data->link[link_id].conn.mode < IEEE80211_CONN_MODE_HT) in ieee80211_mgd_get_ap_ht_vht_capa()
9683 assoc_data->link[link_id].ap_ht_param = in ieee80211_mgd_get_ap_ht_vht_capa()
9687 if (assoc_data->link[link_id].conn.mode < IEEE80211_CONN_MODE_VHT) in ieee80211_mgd_get_ap_ht_vht_capa()
9708 memcpy(&assoc_data->link[link_id].ap_vht_cap, elem->data, in ieee80211_mgd_get_ap_ht_vht_capa()
9757 struct ieee80211_mgd_assoc_data *assoc_data; in ieee80211_mgd_assoc() local
9765 size_t size = sizeof(*assoc_data) + req->ie_len; in ieee80211_mgd_assoc()
9774 assoc_data = kzalloc(size, GFP_KERNEL); in ieee80211_mgd_assoc()
9775 if (!assoc_data) in ieee80211_mgd_assoc()
9788 if (!ssid_elem || ssid_elem->datalen > sizeof(assoc_data->ssid)) { in ieee80211_mgd_assoc()
9794 memcpy(assoc_data->ssid, ssid_elem->data, ssid_elem->datalen); in ieee80211_mgd_assoc()
9795 assoc_data->ssid_len = ssid_elem->datalen; in ieee80211_mgd_assoc()
9799 memcpy(assoc_data->ap_addr, req->ap_mld_addr, ETH_ALEN); in ieee80211_mgd_assoc()
9801 memcpy(assoc_data->ap_addr, cbss->bssid, ETH_ALEN); in ieee80211_mgd_assoc()
9812 assoc_data->ext_mld_capa_ops = in ieee80211_mgd_assoc()
9820 sdata->vif.cfg.ap_addr, assoc_data->ap_addr); in ieee80211_mgd_assoc()
9852 assoc_data->ap_addr) && in ieee80211_mgd_assoc()
9890 ether_addr_copy(assoc_data->link[i].addr, in ieee80211_mgd_assoc()
9893 eth_random_addr(assoc_data->link[i].addr); in ieee80211_mgd_assoc()
9897 assoc_data->link[i].conn = link->u.mgd.conn; in ieee80211_mgd_assoc()
9899 assoc_data->link[i].conn = in ieee80211_mgd_assoc()
9903 &assoc_data->link[i].conn); in ieee80211_mgd_assoc()
9904 assoc_data->link[i].bss = link_cbss; in ieee80211_mgd_assoc()
9909 if (assoc_data->link[i].conn.mode < IEEE80211_CONN_MODE_EHT) { in ieee80211_mgd_assoc()
9916 assoc_data, i); in ieee80211_mgd_assoc()
9924 assoc_data->wmm = true; in ieee80211_mgd_assoc()
9929 memcpy(assoc_data->link[0].addr, sdata->vif.addr, ETH_ALEN); in ieee80211_mgd_assoc()
9930 assoc_data->s1g = cbss->channel->band == NL80211_BAND_S1GHZ; in ieee80211_mgd_assoc()
9932 assoc_data->wmm = bss->wmm_used && in ieee80211_mgd_assoc()
9945 assoc_data->link[0].bss = cbss; in ieee80211_mgd_assoc()
9948 assoc_data->link[0].conn = sdata->deflink.u.mgd.conn; in ieee80211_mgd_assoc()
9950 assoc_data->link[0].conn = in ieee80211_mgd_assoc()
9953 assoc_data->wmm, 0, in ieee80211_mgd_assoc()
9954 &assoc_data->link[0].conn); in ieee80211_mgd_assoc()
9958 err = ieee80211_mgd_get_ap_ht_vht_capa(sdata, assoc_data, 0); in ieee80211_mgd_assoc()
9963 assoc_data->spp_amsdu = req->flags & ASSOC_REQ_SPP_AMSDU; in ieee80211_mgd_assoc()
9970 if (ifmgd->assoc_data) { in ieee80211_mgd_assoc()
9980 memcpy(assoc_data->ie, req->ie, req->ie_len); in ieee80211_mgd_assoc()
9981 assoc_data->ie_len = req->ie_len; in ieee80211_mgd_assoc()
9982 assoc_data->ie_pos = assoc_data->ie + assoc_data->ie_len; in ieee80211_mgd_assoc()
9984 assoc_data->ie_pos = assoc_data->ie; in ieee80211_mgd_assoc()
9993 memcpy(assoc_data->fils_kek, req->fils_kek, in ieee80211_mgd_assoc()
9995 assoc_data->fils_kek_len = req->fils_kek_len; in ieee80211_mgd_assoc()
9999 memcpy(assoc_data->fils_nonces, req->fils_nonces, in ieee80211_mgd_assoc()
10003 assoc_data->timeout = jiffies; in ieee80211_mgd_assoc()
10004 assoc_data->timeout_started = true; in ieee80211_mgd_assoc()
10006 assoc_data->assoc_link_id = assoc_link_id; in ieee80211_mgd_assoc()
10022 assoc_data->link[assoc_link_id].conn.mode || in ieee80211_mgd_assoc()
10024 assoc_data->link[assoc_link_id].conn.bw_limit; in ieee80211_mgd_assoc()
10025 link->u.mgd.conn = assoc_data->link[assoc_link_id].conn; in ieee80211_mgd_assoc()
10027 ieee80211_setup_assoc_link(sdata, assoc_data, req, &link->u.mgd.conn, in ieee80211_mgd_assoc()
10035 if (assoc_data->wmm && uapsd_supported && in ieee80211_mgd_assoc()
10037 assoc_data->uapsd = true; in ieee80211_mgd_assoc()
10040 assoc_data->uapsd = false; in ieee80211_mgd_assoc()
10045 memcpy(assoc_data->prev_ap_addr, req->prev_bssid, ETH_ALEN); in ieee80211_mgd_assoc()
10072 ifmgd->assoc_data = assoc_data; in ieee80211_mgd_assoc()
10074 for (i = 0; i < ARRAY_SIZE(assoc_data->link); i++) { in ieee80211_mgd_assoc()
10075 if (!assoc_data->link[i].bss) in ieee80211_mgd_assoc()
10077 if (i == assoc_data->assoc_link_id) in ieee80211_mgd_assoc()
10081 assoc_data->link[i].bss, true, in ieee80211_mgd_assoc()
10082 &assoc_data->link[i].conn, in ieee80211_mgd_assoc()
10090 memcpy(vif_cfg->ssid, assoc_data->ssid, assoc_data->ssid_len); in ieee80211_mgd_assoc()
10091 vif_cfg->ssid_len = assoc_data->ssid_len; in ieee80211_mgd_assoc()
10094 memcpy(sdata->vif.cfg.ap_addr, assoc_data->ap_addr, ETH_ALEN); in ieee80211_mgd_assoc()
10098 &assoc_data->link[assoc_link_id].conn, in ieee80211_mgd_assoc()
10116 assoc_data->timeout = TU_TO_EXP_TIME(req->bss->beacon_interval); in ieee80211_mgd_assoc()
10117 assoc_data->timeout_started = true; in ieee80211_mgd_assoc()
10118 assoc_data->need_beacon = true; in ieee80211_mgd_assoc()
10123 run_again(sdata, assoc_data->timeout); in ieee80211_mgd_assoc()
10136 ifmgd->assoc_data = NULL; in ieee80211_mgd_assoc()
10138 kfree(assoc_data); in ieee80211_mgd_assoc()
10173 if (ifmgd->assoc_data && in ieee80211_mgd_deauth()
10174 ether_addr_equal(ifmgd->assoc_data->ap_addr, req->bssid)) { in ieee80211_mgd_deauth()
10180 info.link_id = ifmgd->assoc_data->assoc_link_id; in ieee80211_mgd_deauth()
10264 if (ifmgd->assoc_data) in ieee80211_mgd_stop()