Lines Matching refs:assoc_data

702 	struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data;  in ieee80211_send_assoc()  local
717 if (assoc_data->ie_len) in ieee80211_send_assoc()
719 assoc_data->ie, in ieee80211_send_assoc()
720 assoc_data->ie_len); in ieee80211_send_assoc()
735 if (assoc_data->supp_rates_len) { in ieee80211_send_assoc()
743 assoc_data->supp_rates, in ieee80211_send_assoc()
744 assoc_data->supp_rates_len, in ieee80211_send_assoc()
761 2 + assoc_data->ssid_len + /* SSID */ in ieee80211_send_assoc()
771 assoc_data->ie_len + /* extra IEs */ in ieee80211_send_assoc()
772 (assoc_data->fils_kek_len ? 16 /* AES-SIV */ : 0) + in ieee80211_send_assoc()
787 if (assoc_data->capability & WLAN_CAPABILITY_PRIVACY) in ieee80211_send_assoc()
790 if ((assoc_data->capability & WLAN_CAPABILITY_SPECTRUM_MGMT) && in ieee80211_send_assoc()
798 memcpy(mgmt->da, assoc_data->bss->bssid, ETH_ALEN); in ieee80211_send_assoc()
800 memcpy(mgmt->bssid, assoc_data->bss->bssid, ETH_ALEN); in ieee80211_send_assoc()
805 if (!is_zero_ether_addr(assoc_data->prev_bssid)) { in ieee80211_send_assoc()
811 memcpy(mgmt->u.reassoc_req.current_ap, assoc_data->prev_bssid, in ieee80211_send_assoc()
822 pos = skb_put(skb, 2 + assoc_data->ssid_len); in ieee80211_send_assoc()
825 *pos++ = assoc_data->ssid_len; in ieee80211_send_assoc()
826 memcpy(pos, assoc_data->ssid, assoc_data->ssid_len); in ieee80211_send_assoc()
899 !(ifmgd->flags & IEEE80211_STA_DISABLE_HE) && assoc_data->ie_len && in ieee80211_send_assoc()
904 if (assoc_data->ie_len) { in ieee80211_send_assoc()
933 noffset = ieee80211_ie_split_ric(assoc_data->ie, in ieee80211_send_assoc()
934 assoc_data->ie_len, in ieee80211_send_assoc()
940 skb_put_data(skb, assoc_data->ie + offset, noffset - offset); in ieee80211_send_assoc()
950 ieee80211_add_ht_ie(sdata, skb, assoc_data->ap_ht_param, in ieee80211_send_assoc()
954 if (assoc_data->ie_len) { in ieee80211_send_assoc()
969 noffset = ieee80211_ie_split(assoc_data->ie, assoc_data->ie_len, in ieee80211_send_assoc()
972 skb_put_data(skb, assoc_data->ie + offset, noffset - offset); in ieee80211_send_assoc()
977 if (assoc_data->ie_len) { in ieee80211_send_assoc()
995 noffset = ieee80211_ie_split(assoc_data->ie, assoc_data->ie_len, in ieee80211_send_assoc()
999 memcpy(pos, assoc_data->ie + offset, noffset - offset); in ieee80211_send_assoc()
1006 &assoc_data->ap_vht_cap); in ieee80211_send_assoc()
1021 if (assoc_data->ie_len) { in ieee80211_send_assoc()
1022 noffset = ieee80211_ie_split_vendor(assoc_data->ie, in ieee80211_send_assoc()
1023 assoc_data->ie_len, in ieee80211_send_assoc()
1025 skb_put_data(skb, assoc_data->ie + offset, noffset - offset); in ieee80211_send_assoc()
1029 if (assoc_data->wmm) { in ieee80211_send_assoc()
1030 if (assoc_data->uapsd) { in ieee80211_send_assoc()
1047 if (assoc_data->ie_len) { in ieee80211_send_assoc()
1048 noffset = assoc_data->ie_len; in ieee80211_send_assoc()
1049 skb_put_data(skb, assoc_data->ie + offset, noffset - offset); in ieee80211_send_assoc()
1052 if (assoc_data->fils_kek_len && in ieee80211_send_assoc()
1053 fils_encrypt_assoc_req(skb, assoc_data) < 0) { in ieee80211_send_assoc()
2698 else if (ifmgd->assoc_data) in ieee80211_ap_probereq_get()
2699 cbss = ifmgd->assoc_data->bss; in ieee80211_ap_probereq_get()
2863 struct ieee80211_mgd_assoc_data *assoc_data = sdata->u.mgd.assoc_data; in ieee80211_destroy_assoc_data() local
2874 sta_info_destroy_addr(sdata, assoc_data->bss->bssid); in ieee80211_destroy_assoc_data()
2886 cfg80211_abandon_assoc(sdata->dev, assoc_data->bss); in ieee80211_destroy_assoc_data()
2889 kfree(assoc_data); in ieee80211_destroy_assoc_data()
2890 sdata->u.mgd.assoc_data = NULL; in ieee80211_destroy_assoc_data()
3137 if (ifmgd->assoc_data && in ieee80211_rx_mgmt_deauth()
3138 ether_addr_equal(mgmt->bssid, ifmgd->assoc_data->bss->bssid)) { in ieee80211_rx_mgmt_deauth()
3139 const u8 *bssid = ifmgd->assoc_data->bss->bssid; in ieee80211_rx_mgmt_deauth()
3273 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data; in ieee80211_assoc_success() local
3291 mgmt->bssid, assoc_data->bss->bssid); in ieee80211_assoc_success()
3329 ((assoc_data->wmm && !elems->wmm_param) || in ieee80211_assoc_success()
3349 assoc_data->bss->bssid); in ieee80211_assoc_success()
3350 if (assoc_data->wmm && in ieee80211_assoc_success()
3643 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data; in ieee80211_rx_mgmt_assoc_resp() local
3657 if (!assoc_data) in ieee80211_rx_mgmt_assoc_resp()
3660 if (!ether_addr_equal(assoc_data->bss->bssid, mgmt->bssid)) in ieee80211_rx_mgmt_assoc_resp()
3663 cbss = assoc_data->bss; in ieee80211_rx_mgmt_assoc_resp()
3688 if (assoc_data->fils_kek_len && in ieee80211_rx_mgmt_assoc_resp()
3689 fils_decrypt_assoc_resp(sdata, (u8 *)mgmt, &len, assoc_data) < 0) in ieee80211_rx_mgmt_assoc_resp()
3693 mgmt->bssid, assoc_data->bss->bssid); in ieee80211_rx_mgmt_assoc_resp()
3704 assoc_data->timeout = jiffies + msecs_to_jiffies(ms); in ieee80211_rx_mgmt_assoc_resp()
3705 assoc_data->timeout_started = true; in ieee80211_rx_mgmt_assoc_resp()
3707 run_again(sdata, assoc_data->timeout); in ieee80211_rx_mgmt_assoc_resp()
3993 if (ifmgd->assoc_data && ifmgd->assoc_data->need_beacon && in ieee80211_rx_mgmt_beacon()
3994 ieee80211_rx_our_beacon(bssid, ifmgd->assoc_data->bss)) { in ieee80211_rx_mgmt_beacon()
3998 ifmgd->assoc_data->bss->bssid); in ieee80211_rx_mgmt_beacon()
4005 ifmgd->assoc_data->need_beacon = false; in ieee80211_rx_mgmt_beacon()
4023 ifmgd->assoc_data->timeout = jiffies; in ieee80211_rx_mgmt_beacon()
4024 ifmgd->assoc_data->timeout_started = true; in ieee80211_rx_mgmt_beacon()
4025 run_again(sdata, ifmgd->assoc_data->timeout); in ieee80211_rx_mgmt_beacon()
4427 struct ieee80211_mgd_assoc_data *assoc_data = sdata->u.mgd.assoc_data; in ieee80211_do_assoc() local
4432 assoc_data->tries++; in ieee80211_do_assoc()
4433 if (assoc_data->tries > IEEE80211_ASSOC_MAX_TRIES) { in ieee80211_do_assoc()
4435 assoc_data->bss->bssid); in ieee80211_do_assoc()
4441 cfg80211_unlink_bss(local->hw.wiphy, assoc_data->bss); in ieee80211_do_assoc()
4447 assoc_data->bss->bssid, assoc_data->tries, in ieee80211_do_assoc()
4452 assoc_data->timeout = jiffies + IEEE80211_ASSOC_TIMEOUT; in ieee80211_do_assoc()
4453 assoc_data->timeout_started = true; in ieee80211_do_assoc()
4454 run_again(sdata, assoc_data->timeout); in ieee80211_do_assoc()
4456 assoc_data->timeout = in ieee80211_do_assoc()
4459 assoc_data->timeout_started = true; in ieee80211_do_assoc()
4460 run_again(sdata, assoc_data->timeout); in ieee80211_do_assoc()
4506 } else if (ifmgd->assoc_data && in ieee80211_sta_work()
4510 ifmgd->assoc_data->timeout = in ieee80211_sta_work()
4512 run_again(sdata, ifmgd->assoc_data->timeout); in ieee80211_sta_work()
4514 ifmgd->assoc_data->timeout = jiffies - 1; in ieee80211_sta_work()
4516 ifmgd->assoc_data->timeout_started = true; in ieee80211_sta_work()
4546 if (ifmgd->assoc_data && ifmgd->assoc_data->timeout_started && in ieee80211_sta_work()
4547 time_after(jiffies, ifmgd->assoc_data->timeout)) { in ieee80211_sta_work()
4548 if ((ifmgd->assoc_data->need_beacon && !ifmgd->have_beacon) || in ieee80211_sta_work()
4550 struct cfg80211_bss *bss = ifmgd->assoc_data->bss; in ieee80211_sta_work()
4561 } else if (ifmgd->assoc_data && ifmgd->assoc_data->timeout_started) in ieee80211_sta_work()
4562 run_again(sdata, ifmgd->assoc_data->timeout); in ieee80211_sta_work()
4700 if (ifmgd->auth_data || ifmgd->assoc_data) { in ieee80211_mgd_quiesce()
4703 ifmgd->assoc_data->bss->bssid; in ieee80211_mgd_quiesce()
4714 if (ifmgd->assoc_data) in ieee80211_mgd_quiesce()
5153 if (WARN_ON(!ifmgd->auth_data && !ifmgd->assoc_data)) in ieee80211_prep_connection()
5356 if (ifmgd->assoc_data) in ieee80211_mgd_auth()
5471 struct ieee80211_mgd_assoc_data *assoc_data; in ieee80211_mgd_assoc() local
5478 assoc_data = kzalloc(sizeof(*assoc_data) + req->ie_len, GFP_KERNEL); in ieee80211_mgd_assoc()
5479 if (!assoc_data) in ieee80211_mgd_assoc()
5484 if (!ssidie || ssidie[1] > sizeof(assoc_data->ssid)) { in ieee80211_mgd_assoc()
5486 kfree(assoc_data); in ieee80211_mgd_assoc()
5489 memcpy(assoc_data->ssid, ssidie + 2, ssidie[1]); in ieee80211_mgd_assoc()
5490 assoc_data->ssid_len = ssidie[1]; in ieee80211_mgd_assoc()
5513 if (ifmgd->assoc_data) { in ieee80211_mgd_assoc()
5530 assoc_data->wmm = bss->wmm_used && in ieee80211_mgd_assoc()
5576 memcpy(assoc_data->ie, req->ie, req->ie_len); in ieee80211_mgd_assoc()
5577 assoc_data->ie_len = req->ie_len; in ieee80211_mgd_assoc()
5586 memcpy(assoc_data->fils_kek, req->fils_kek, in ieee80211_mgd_assoc()
5588 assoc_data->fils_kek_len = req->fils_kek_len; in ieee80211_mgd_assoc()
5592 memcpy(assoc_data->fils_nonces, req->fils_nonces, in ieee80211_mgd_assoc()
5595 assoc_data->bss = req->bss; in ieee80211_mgd_assoc()
5605 assoc_data->capability = req->bss->capability; in ieee80211_mgd_assoc()
5606 assoc_data->supp_rates = bss->supp_rates; in ieee80211_mgd_assoc()
5607 assoc_data->supp_rates_len = bss->supp_rates_len; in ieee80211_mgd_assoc()
5612 assoc_data->ap_ht_param = in ieee80211_mgd_assoc()
5618 memcpy(&assoc_data->ap_vht_cap, vht_ie + 2, in ieee80211_mgd_assoc()
5632 assoc_data->uapsd = true; in ieee80211_mgd_assoc()
5635 assoc_data->uapsd = false; in ieee80211_mgd_assoc()
5640 memcpy(assoc_data->prev_bssid, req->prev_bssid, ETH_ALEN); in ieee80211_mgd_assoc()
5670 ifmgd->assoc_data = assoc_data; in ieee80211_mgd_assoc()
5719 assoc_data->timeout = TU_TO_EXP_TIME(req->bss->beacon_interval); in ieee80211_mgd_assoc()
5720 assoc_data->timeout_started = true; in ieee80211_mgd_assoc()
5721 assoc_data->need_beacon = true; in ieee80211_mgd_assoc()
5730 assoc_data->timeout = jiffies; in ieee80211_mgd_assoc()
5731 assoc_data->timeout_started = true; in ieee80211_mgd_assoc()
5751 assoc_data->timeout = jiffies; in ieee80211_mgd_assoc()
5752 assoc_data->timeout_started = true; in ieee80211_mgd_assoc()
5756 run_again(sdata, assoc_data->timeout); in ieee80211_mgd_assoc()
5776 ifmgd->assoc_data = NULL; in ieee80211_mgd_assoc()
5778 kfree(assoc_data); in ieee80211_mgd_assoc()
5809 if (ifmgd->assoc_data && in ieee80211_mgd_deauth()
5810 ether_addr_equal(ifmgd->assoc_data->bss->bssid, req->bssid)) { in ieee80211_mgd_deauth()
5894 if (ifmgd->assoc_data) { in ieee80211_mgd_stop()
5895 struct cfg80211_bss *bss = ifmgd->assoc_data->bss; in ieee80211_mgd_stop()