Lines Matching refs:ifmgd
199 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_sta_reset_conn_monitor() local
201 if (unlikely(!ifmgd->associated)) in ieee80211_sta_reset_conn_monitor()
204 if (ifmgd->probe_send_count) in ieee80211_sta_reset_conn_monitor()
205 ifmgd->probe_send_count = 0; in ieee80211_sta_reset_conn_monitor()
210 mod_timer(&ifmgd->conn_mon_timer, in ieee80211_sta_reset_conn_monitor()
494 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_config_bw() local
586 link->u.mgd.bssid, flags, ifmgd->flags); in ieee80211_config_bw()
1034 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_assoc_link_elems() local
1035 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data; in ieee80211_assoc_link_elems()
1274 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_assoc_add_ml_elem() local
1275 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data; in ieee80211_assoc_add_ml_elem()
1378 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_send_assoc() local
1379 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data; in ieee80211_send_assoc()
1490 if (ifmgd->flags & IEEE80211_STA_ENABLE_RRM) in ieee80211_send_assoc()
1553 qos_info = ifmgd->uapsd_queues; in ieee80211_send_assoc()
1554 qos_info |= (ifmgd->uapsd_max_sp_len << in ieee80211_send_assoc()
1578 kfree(ifmgd->assoc_req_ies); in ieee80211_send_assoc()
1579 ifmgd->assoc_req_ies = kmemdup(ie_start, pos - ie_start, GFP_ATOMIC); in ieee80211_send_assoc()
1580 if (!ifmgd->assoc_req_ies) { in ieee80211_send_assoc()
1585 ifmgd->assoc_req_ies_len = pos - ie_start; in ieee80211_send_assoc()
1621 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_send_nullfunc() local
1639 if (ifmgd->flags & IEEE80211_STA_CONNECTION_POLL) in ieee80211_send_nullfunc()
1682 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_chswitch_work() local
1692 if (!ifmgd->associated) in ieee80211_chswitch_work()
1720 &ifmgd->csa_connection_drop_work); in ieee80211_chswitch_work()
1732 &ifmgd->csa_connection_drop_work); in ieee80211_chswitch_work()
1751 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_chswitch_post_beacon() local
1777 &ifmgd->csa_connection_drop_work); in ieee80211_chswitch_post_beacon()
1787 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_chswitch_done() local
1797 &ifmgd->csa_connection_drop_work); in ieee80211_chswitch_done()
1849 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_sta_process_chanswitch() local
2021 ieee80211_queue_work(&local->hw, &ifmgd->csa_connection_drop_work); in ieee80211_sta_process_chanswitch()
2339 struct ieee80211_if_managed *ifmgd; in ieee80211_dynamic_ps_enable_work() local
2347 ifmgd = &sdata->u.mgd; in ieee80211_dynamic_ps_enable_work()
2381 !(ifmgd->flags & IEEE80211_STA_NULLFUNC_ACKED)) { in ieee80211_dynamic_ps_enable_work()
2395 (ifmgd->flags & IEEE80211_STA_NULLFUNC_ACKED)) { in ieee80211_dynamic_ps_enable_work()
2396 ifmgd->flags &= ~IEEE80211_STA_NULLFUNC_ACKED; in ieee80211_dynamic_ps_enable_work()
2432 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in __ieee80211_sta_handle_tspec_ac_params() local
2440 struct ieee80211_sta_tx_tspec *tx_tspec = &ifmgd->tx_tspec[ac]; in __ieee80211_sta_handle_tspec_ac_params()
2495 schedule_delayed_work(&ifmgd->tx_tspec_wk, in __ieee80211_sta_handle_tspec_ac_params()
2527 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_mgd_set_link_qos_params() local
2537 ifmgd->tx_tspec[ac].downgraded); in ieee80211_mgd_set_link_qos_params()
2538 if (!ifmgd->tx_tspec[ac].downgraded && in ieee80211_mgd_set_link_qos_params()
2555 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_sta_wmm_params() local
2573 if (ifmgd->flags & IEEE80211_STA_UAPSD_ENABLED) in ieee80211_sta_wmm_params()
2574 uapsd_queues = ifmgd->uapsd_queues; in ieee80211_sta_wmm_params()
2888 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_set_disassoc() local
2901 if (WARN_ON(!ifmgd->associated)) in ieee80211_set_disassoc()
2906 ifmgd->associated = false; in ieee80211_set_disassoc()
2985 memset(&ifmgd->ht_capa, 0, sizeof(ifmgd->ht_capa)); in ieee80211_set_disassoc()
2986 memset(&ifmgd->ht_capa_mask, 0, sizeof(ifmgd->ht_capa_mask)); in ieee80211_set_disassoc()
2987 memset(&ifmgd->vht_capa, 0, sizeof(ifmgd->vht_capa)); in ieee80211_set_disassoc()
2988 memset(&ifmgd->vht_capa_mask, 0, sizeof(ifmgd->vht_capa_mask)); in ieee80211_set_disassoc()
3036 ifmgd->flags = 0; in ieee80211_set_disassoc()
3060 memset(ifmgd->tx_tspec, 0, sizeof(ifmgd->tx_tspec)); in ieee80211_set_disassoc()
3061 cancel_delayed_work_sync(&ifmgd->tx_tspec_wk); in ieee80211_set_disassoc()
3073 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_reset_ap_probe() local
3077 if (!(ifmgd->flags & IEEE80211_STA_CONNECTION_POLL)) in ieee80211_reset_ap_probe()
3096 mod_timer(&ifmgd->conn_mon_timer, in ieee80211_reset_ap_probe()
3107 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_sta_tx_wmm_ac_notify() local
3118 tx_tspec = &ifmgd->tx_tspec[ac]; in ieee80211_sta_tx_wmm_ac_notify()
3129 schedule_delayed_work(&ifmgd->tx_tspec_wk, 0); in ieee80211_sta_tx_wmm_ac_notify()
3141 schedule_delayed_work(&ifmgd->tx_tspec_wk, 0); in ieee80211_sta_tx_wmm_ac_notify()
3177 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_mgd_probe_ap_send() local
3190 if (ifmgd->probe_send_count >= unicast_limit) in ieee80211_mgd_probe_ap_send()
3200 ifmgd->probe_send_count++; in ieee80211_mgd_probe_ap_send()
3211 ifmgd->nullfunc_failed = false; in ieee80211_mgd_probe_ap_send()
3220 ifmgd->probe_timeout = jiffies + msecs_to_jiffies(probe_wait_ms); in ieee80211_mgd_probe_ap_send()
3221 run_again(sdata, ifmgd->probe_timeout); in ieee80211_mgd_probe_ap_send()
3227 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_mgd_probe_ap() local
3238 if (!ifmgd->associated) in ieee80211_mgd_probe_ap()
3274 if (ifmgd->flags & IEEE80211_STA_CONNECTION_POLL) in ieee80211_mgd_probe_ap()
3277 ifmgd->flags |= IEEE80211_STA_CONNECTION_POLL; in ieee80211_mgd_probe_ap()
3288 ifmgd->probe_send_count = 0; in ieee80211_mgd_probe_ap()
3298 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_ap_probereq_get() local
3310 if (ifmgd->associated) in ieee80211_ap_probereq_get()
3312 else if (ifmgd->auth_data) in ieee80211_ap_probereq_get()
3313 cbss = ifmgd->auth_data->bss; in ieee80211_ap_probereq_get()
3314 else if (ifmgd->assoc_data && ifmgd->assoc_data->link[0].bss) in ieee80211_ap_probereq_get()
3315 cbss = ifmgd->assoc_data->link[0].bss; in ieee80211_ap_probereq_get()
3359 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in __ieee80211_disconnect() local
3364 if (!ifmgd->associated) { in __ieee80211_disconnect()
3372 if (!ifmgd->driver_disconnect) { in __ieee80211_disconnect()
3396 ifmgd->driver_disconnect ? in __ieee80211_disconnect()
3413 ifmgd->reconnect); in __ieee80211_disconnect()
3414 ifmgd->reconnect = false; in __ieee80211_disconnect()
3424 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_beacon_connection_loss_work() local
3426 if (ifmgd->connection_loss) { in ieee80211_beacon_connection_loss_work()
3430 ifmgd->connection_loss = false; in ieee80211_beacon_connection_loss_work()
3431 } else if (ifmgd->driver_disconnect) { in ieee80211_beacon_connection_loss_work()
3436 ifmgd->driver_disconnect = false; in ieee80211_beacon_connection_loss_work()
3438 if (ifmgd->associated) in ieee80211_beacon_connection_loss_work()
3617 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_mark_sta_auth() local
3618 const u8 *ap_addr = ifmgd->auth_data->ap_addr; in ieee80211_mark_sta_auth()
3623 ifmgd->auth_data->done = true; in ieee80211_mark_sta_auth()
3624 ifmgd->auth_data->timeout = jiffies + IEEE80211_AUTH_WAIT_ASSOC; in ieee80211_mark_sta_auth()
3625 ifmgd->auth_data->timeout_started = true; in ieee80211_mark_sta_auth()
3626 run_again(sdata, ifmgd->auth_data->timeout); in ieee80211_mark_sta_auth()
3650 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_rx_mgmt_auth() local
3665 if (!ifmgd->auth_data || ifmgd->auth_data->done) in ieee80211_rx_mgmt_auth()
3668 if (!ether_addr_equal(ifmgd->auth_data->ap_addr, mgmt->bssid)) in ieee80211_rx_mgmt_auth()
3675 if (auth_alg != ifmgd->auth_data->algorithm || in ieee80211_rx_mgmt_auth()
3677 auth_transaction != ifmgd->auth_data->expected_transaction) || in ieee80211_rx_mgmt_auth()
3679 (auth_transaction < ifmgd->auth_data->expected_transaction || in ieee80211_rx_mgmt_auth()
3682 mgmt->sa, auth_alg, ifmgd->auth_data->algorithm, in ieee80211_rx_mgmt_auth()
3684 ifmgd->auth_data->expected_transaction); in ieee80211_rx_mgmt_auth()
3697 ifmgd->auth_data->waiting = true; in ieee80211_rx_mgmt_auth()
3698 ifmgd->auth_data->timeout = in ieee80211_rx_mgmt_auth()
3700 ifmgd->auth_data->timeout_started = true; in ieee80211_rx_mgmt_auth()
3701 run_again(sdata, ifmgd->auth_data->timeout); in ieee80211_rx_mgmt_auth()
3714 switch (ifmgd->auth_data->algorithm) { in ieee80211_rx_mgmt_auth()
3724 if (ifmgd->auth_data->expected_transaction != 4) { in ieee80211_rx_mgmt_auth()
3732 ifmgd->auth_data->algorithm); in ieee80211_rx_mgmt_auth()
3739 if (ifmgd->auth_data->algorithm != WLAN_AUTH_SAE || in ieee80211_rx_mgmt_auth()
3741 ifmgd->auth_data->expected_transaction == 2)) { in ieee80211_rx_mgmt_auth()
3744 } else if (ifmgd->auth_data->algorithm == WLAN_AUTH_SAE && in ieee80211_rx_mgmt_auth()
3747 ifmgd->auth_data->peer_confirmed = true; in ieee80211_rx_mgmt_auth()
3815 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_rx_mgmt_deauth() local
3828 if (ifmgd->associated && in ieee80211_rx_mgmt_deauth()
3841 if (ifmgd->assoc_data && in ieee80211_rx_mgmt_deauth()
3842 ether_addr_equal(mgmt->bssid, ifmgd->assoc_data->ap_addr)) { in ieee80211_rx_mgmt_deauth()
3845 ifmgd->assoc_data->ap_addr, reason_code, in ieee80211_rx_mgmt_deauth()
3859 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_rx_mgmt_disassoc() local
3867 if (!ifmgd->associated || in ieee80211_rx_mgmt_disassoc()
4970 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_assoc_success() local
4971 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data; in ieee80211_assoc_success()
5085 if (ifmgd->flags & IEEE80211_STA_MFP_ENABLED) { in ieee80211_assoc_success()
5099 if (!err && !(ifmgd->flags & IEEE80211_STA_CONTROL_PORT)) in ieee80211_assoc_success()
5120 if (ifmgd->use_4addr) in ieee80211_assoc_success()
5141 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_rx_mgmt_assoc_resp() local
5142 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data; in ieee80211_rx_mgmt_assoc_resp()
5228 ifmgd->broken_ap = false; in ieee80211_rx_mgmt_assoc_resp()
5262 ifmgd->broken_ap = true; in ieee80211_rx_mgmt_assoc_resp()
5344 resp.req_ies = ifmgd->assoc_req_ies; in ieee80211_rx_mgmt_assoc_resp()
5345 resp.req_ies_len = ifmgd->assoc_req_ies_len; in ieee80211_rx_mgmt_assoc_resp()
5385 struct ieee80211_if_managed *ifmgd; in ieee80211_rx_mgmt_probe_resp() local
5390 ifmgd = &sdata->u.mgd; in ieee80211_rx_mgmt_probe_resp()
5417 if (ifmgd->associated && in ieee80211_rx_mgmt_probe_resp()
5447 struct ieee80211_if_managed *ifmgd, in ieee80211_handle_beacon_sig() argument
5469 if (ifmgd->rssi_min_thold != ifmgd->rssi_max_thold && in ieee80211_handle_beacon_sig()
5481 if (sig > ifmgd->rssi_max_thold && in ieee80211_handle_beacon_sig()
5482 (last_sig <= ifmgd->rssi_min_thold || last_sig == 0)) { in ieee80211_handle_beacon_sig()
5486 } else if (sig < ifmgd->rssi_min_thold && in ieee80211_handle_beacon_sig()
5487 (last_sig >= ifmgd->rssi_max_thold || in ieee80211_handle_beacon_sig()
5599 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_rx_mgmt_beacon() local
5657 if (ifmgd->assoc_data && ifmgd->assoc_data->need_beacon && in ieee80211_rx_mgmt_beacon()
5659 ieee80211_rx_our_beacon(bssid, ifmgd->assoc_data->link[0].bss)) { in ieee80211_rx_mgmt_beacon()
5660 parse_params.bss = ifmgd->assoc_data->link[0].bss; in ieee80211_rx_mgmt_beacon()
5670 ifmgd->assoc_data->need_beacon = false; in ieee80211_rx_mgmt_beacon()
5692 ifmgd->assoc_data->timeout = jiffies; in ieee80211_rx_mgmt_beacon()
5693 ifmgd->assoc_data->timeout_started = true; in ieee80211_rx_mgmt_beacon()
5694 run_again(sdata, ifmgd->assoc_data->timeout); in ieee80211_rx_mgmt_beacon()
5699 if (!ifmgd->associated || in ieee80211_rx_mgmt_beacon()
5705 ieee80211_handle_beacon_sig(link, ifmgd, bss_conf, in ieee80211_rx_mgmt_beacon()
5708 if (ifmgd->flags & IEEE80211_STA_CONNECTION_POLL) { in ieee80211_rx_mgmt_beacon()
6074 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_auth() local
6075 struct ieee80211_mgd_auth_data *auth_data = ifmgd->auth_data; in ieee80211_auth()
6206 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_sta_work() local
6210 if (ifmgd->status_received) { in ieee80211_sta_work()
6211 __le16 fc = ifmgd->status_fc; in ieee80211_sta_work()
6212 bool status_acked = ifmgd->status_acked; in ieee80211_sta_work()
6214 ifmgd->status_received = false; in ieee80211_sta_work()
6215 if (ifmgd->auth_data && ieee80211_is_auth(fc)) { in ieee80211_sta_work()
6217 if (ifmgd->auth_data->algorithm == in ieee80211_sta_work()
6219 ifmgd->auth_data->timeout = in ieee80211_sta_work()
6223 ifmgd->auth_data->timeout = in ieee80211_sta_work()
6226 run_again(sdata, ifmgd->auth_data->timeout); in ieee80211_sta_work()
6228 ifmgd->auth_data->timeout = jiffies - 1; in ieee80211_sta_work()
6230 ifmgd->auth_data->timeout_started = true; in ieee80211_sta_work()
6231 } else if (ifmgd->assoc_data && in ieee80211_sta_work()
6235 ifmgd->assoc_data->timeout = in ieee80211_sta_work()
6237 run_again(sdata, ifmgd->assoc_data->timeout); in ieee80211_sta_work()
6239 ifmgd->assoc_data->timeout = jiffies - 1; in ieee80211_sta_work()
6241 ifmgd->assoc_data->timeout_started = true; in ieee80211_sta_work()
6245 if (ifmgd->auth_data && ifmgd->auth_data->timeout_started && in ieee80211_sta_work()
6246 time_after(jiffies, ifmgd->auth_data->timeout)) { in ieee80211_sta_work()
6247 if (ifmgd->auth_data->done || ifmgd->auth_data->waiting) { in ieee80211_sta_work()
6261 memcpy(ap_addr, ifmgd->auth_data->ap_addr, ETH_ALEN); in ieee80211_sta_work()
6268 } else if (ifmgd->auth_data && ifmgd->auth_data->timeout_started) in ieee80211_sta_work()
6269 run_again(sdata, ifmgd->auth_data->timeout); in ieee80211_sta_work()
6271 if (ifmgd->assoc_data && ifmgd->assoc_data->timeout_started && in ieee80211_sta_work()
6272 time_after(jiffies, ifmgd->assoc_data->timeout)) { in ieee80211_sta_work()
6273 if ((ifmgd->assoc_data->need_beacon && in ieee80211_sta_work()
6285 } else if (ifmgd->assoc_data && ifmgd->assoc_data->timeout_started) in ieee80211_sta_work()
6286 run_again(sdata, ifmgd->assoc_data->timeout); in ieee80211_sta_work()
6288 if (ifmgd->flags & IEEE80211_STA_CONNECTION_POLL && in ieee80211_sta_work()
6289 ifmgd->associated) { in ieee80211_sta_work()
6299 if (!ifmgd->probe_send_count) in ieee80211_sta_work()
6301 else if (ifmgd->nullfunc_failed) { in ieee80211_sta_work()
6302 if (ifmgd->probe_send_count < max_tries) { in ieee80211_sta_work()
6305 bssid, ifmgd->probe_send_count, in ieee80211_sta_work()
6316 } else if (time_is_after_jiffies(ifmgd->probe_timeout)) in ieee80211_sta_work()
6317 run_again(sdata, ifmgd->probe_timeout); in ieee80211_sta_work()
6324 } else if (ifmgd->probe_send_count < max_tries) { in ieee80211_sta_work()
6328 ifmgd->probe_send_count, max_tries); in ieee80211_sta_work()
6371 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_sta_conn_mon_timer() local
6396 mod_timer(&ifmgd->conn_mon_timer, round_jiffies_up(timeout)); in ieee80211_sta_conn_mon_timer()
6400 ieee80211_queue_work(&local->hw, &ifmgd->monitor_work); in ieee80211_sta_conn_mon_timer()
6427 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_mgd_quiesce() local
6432 if (ifmgd->auth_data || ifmgd->assoc_data) { in ieee80211_mgd_quiesce()
6433 const u8 *ap_addr = ifmgd->auth_data ? in ieee80211_mgd_quiesce()
6434 ifmgd->auth_data->ap_addr : in ieee80211_mgd_quiesce()
6435 ifmgd->assoc_data->ap_addr; in ieee80211_mgd_quiesce()
6446 if (ifmgd->assoc_data) in ieee80211_mgd_quiesce()
6448 if (ifmgd->auth_data) in ieee80211_mgd_quiesce()
6472 if (ifmgd->associated && !sdata->local->wowlan) { in ieee80211_mgd_quiesce()
6489 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_sta_restart() local
6492 if (!ifmgd->associated) { in ieee80211_sta_restart()
6535 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_sta_setup_sdata() local
6537 INIT_WORK(&ifmgd->monitor_work, ieee80211_sta_monitor_work); in ieee80211_sta_setup_sdata()
6538 INIT_WORK(&ifmgd->beacon_connection_loss_work, in ieee80211_sta_setup_sdata()
6540 INIT_WORK(&ifmgd->csa_connection_drop_work, in ieee80211_sta_setup_sdata()
6542 INIT_DELAYED_WORK(&ifmgd->tdls_peer_del_work, in ieee80211_sta_setup_sdata()
6544 timer_setup(&ifmgd->timer, ieee80211_sta_timer, 0); in ieee80211_sta_setup_sdata()
6545 timer_setup(&ifmgd->bcn_mon_timer, ieee80211_sta_bcn_mon_timer, 0); in ieee80211_sta_setup_sdata()
6546 timer_setup(&ifmgd->conn_mon_timer, ieee80211_sta_conn_mon_timer, 0); in ieee80211_sta_setup_sdata()
6547 INIT_DELAYED_WORK(&ifmgd->tx_tspec_wk, in ieee80211_sta_setup_sdata()
6550 ifmgd->flags = 0; in ieee80211_sta_setup_sdata()
6551 ifmgd->powersave = sdata->wdev.ps; in ieee80211_sta_setup_sdata()
6552 ifmgd->uapsd_queues = sdata->local->hw.uapsd_queues; in ieee80211_sta_setup_sdata()
6553 ifmgd->uapsd_max_sp_len = sdata->local->hw.uapsd_max_sp_len; in ieee80211_sta_setup_sdata()
6555 spin_lock_init(&ifmgd->teardown_lock); in ieee80211_sta_setup_sdata()
6556 ifmgd->teardown_skb = NULL; in ieee80211_sta_setup_sdata()
6557 ifmgd->orig_teardown_skb = NULL; in ieee80211_sta_setup_sdata()
6607 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_prep_connection() local
6638 if (WARN_ON(!ifmgd->auth_data && !ifmgd->assoc_data)) { in ieee80211_prep_connection()
6785 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_mgd_auth() local
6824 if (ifmgd->assoc_data) in ieee80211_mgd_auth()
6855 cont_auth = ifmgd->auth_data && req->bss == ifmgd->auth_data->bss && in ieee80211_mgd_auth()
6856 ifmgd->auth_data->link_id == req->link_id; in ieee80211_mgd_auth()
6874 if (ifmgd->auth_data) { in ieee80211_mgd_auth()
6877 ifmgd->auth_data->peer_confirmed; in ieee80211_mgd_auth()
6883 ifmgd->auth_data = auth_data; in ieee80211_mgd_auth()
6894 if (ifmgd->associated) { in ieee80211_mgd_auth()
6939 ifmgd->auth_data = NULL; in ieee80211_mgd_auth()
7118 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_mgd_assoc() local
7177 if (ifmgd->associated) { in ieee80211_mgd_assoc()
7193 if (ifmgd->auth_data && !ifmgd->auth_data->done) { in ieee80211_mgd_assoc()
7198 if (ifmgd->assoc_data) { in ieee80211_mgd_assoc()
7203 if (ifmgd->auth_data) { in ieee80211_mgd_assoc()
7207 match = ether_addr_equal(ifmgd->auth_data->ap_addr, in ieee80211_mgd_assoc()
7209 ifmgd->auth_data->link_id == req->link_id; in ieee80211_mgd_assoc()
7271 memcpy(&ifmgd->ht_capa, &req->ht_capa, sizeof(ifmgd->ht_capa)); in ieee80211_mgd_assoc()
7272 memcpy(&ifmgd->ht_capa_mask, &req->ht_capa_mask, in ieee80211_mgd_assoc()
7273 sizeof(ifmgd->ht_capa_mask)); in ieee80211_mgd_assoc()
7275 memcpy(&ifmgd->vht_capa, &req->vht_capa, sizeof(ifmgd->vht_capa)); in ieee80211_mgd_assoc()
7276 memcpy(&ifmgd->vht_capa_mask, &req->vht_capa_mask, in ieee80211_mgd_assoc()
7277 sizeof(ifmgd->vht_capa_mask)); in ieee80211_mgd_assoc()
7279 memcpy(&ifmgd->s1g_capa, &req->s1g_capa, sizeof(ifmgd->s1g_capa)); in ieee80211_mgd_assoc()
7280 memcpy(&ifmgd->s1g_capa_mask, &req->s1g_capa_mask, in ieee80211_mgd_assoc()
7281 sizeof(ifmgd->s1g_capa_mask)); in ieee80211_mgd_assoc()
7348 ifmgd->flags |= IEEE80211_STA_UAPSD_ENABLED; in ieee80211_mgd_assoc()
7351 ifmgd->flags &= ~IEEE80211_STA_UAPSD_ENABLED; in ieee80211_mgd_assoc()
7358 ifmgd->mfp = IEEE80211_MFP_REQUIRED; in ieee80211_mgd_assoc()
7359 ifmgd->flags |= IEEE80211_STA_MFP_ENABLED; in ieee80211_mgd_assoc()
7361 ifmgd->mfp = IEEE80211_MFP_DISABLED; in ieee80211_mgd_assoc()
7362 ifmgd->flags &= ~IEEE80211_STA_MFP_ENABLED; in ieee80211_mgd_assoc()
7366 ifmgd->flags |= IEEE80211_STA_ENABLE_RRM; in ieee80211_mgd_assoc()
7368 ifmgd->flags &= ~IEEE80211_STA_ENABLE_RRM; in ieee80211_mgd_assoc()
7371 ifmgd->flags |= IEEE80211_STA_CONTROL_PORT; in ieee80211_mgd_assoc()
7373 ifmgd->flags &= ~IEEE80211_STA_CONTROL_PORT; in ieee80211_mgd_assoc()
7382 ifmgd->assoc_data = assoc_data; in ieee80211_mgd_assoc()
7434 ifmgd->assoc_data = NULL; in ieee80211_mgd_assoc()
7443 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_mgd_deauth() local
7450 if (ifmgd->auth_data && in ieee80211_mgd_deauth()
7451 ether_addr_equal(ifmgd->auth_data->ap_addr, req->bssid)) { in ieee80211_mgd_deauth()
7470 if (ifmgd->assoc_data && in ieee80211_mgd_deauth()
7471 ether_addr_equal(ifmgd->assoc_data->ap_addr, req->bssid)) { in ieee80211_mgd_deauth()
7489 if (ifmgd->associated && in ieee80211_mgd_deauth()
7540 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_mgd_stop() local
7547 cancel_work_sync(&ifmgd->monitor_work); in ieee80211_mgd_stop()
7548 cancel_work_sync(&ifmgd->beacon_connection_loss_work); in ieee80211_mgd_stop()
7549 cancel_work_sync(&ifmgd->csa_connection_drop_work); in ieee80211_mgd_stop()
7550 cancel_delayed_work_sync(&ifmgd->tdls_peer_del_work); in ieee80211_mgd_stop()
7553 if (ifmgd->assoc_data) in ieee80211_mgd_stop()
7555 if (ifmgd->auth_data) in ieee80211_mgd_stop()
7557 spin_lock_bh(&ifmgd->teardown_lock); in ieee80211_mgd_stop()
7558 if (ifmgd->teardown_skb) { in ieee80211_mgd_stop()
7559 kfree_skb(ifmgd->teardown_skb); in ieee80211_mgd_stop()
7560 ifmgd->teardown_skb = NULL; in ieee80211_mgd_stop()
7561 ifmgd->orig_teardown_skb = NULL; in ieee80211_mgd_stop()
7563 kfree(ifmgd->assoc_req_ies); in ieee80211_mgd_stop()
7564 ifmgd->assoc_req_ies = NULL; in ieee80211_mgd_stop()
7565 ifmgd->assoc_req_ies_len = 0; in ieee80211_mgd_stop()
7566 spin_unlock_bh(&ifmgd->teardown_lock); in ieee80211_mgd_stop()
7567 del_timer_sync(&ifmgd->timer); in ieee80211_mgd_stop()