Lines Matching defs:ifmgd

199 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
201 if (unlikely(!ifmgd->associated))
204 if (ifmgd->probe_send_count)
205 ifmgd->probe_send_count = 0;
210 mod_timer(&ifmgd->conn_mon_timer,
494 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
584 link->u.mgd.bssid, flags, ifmgd->flags);
1029 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1030 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data;
1275 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1276 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data;
1380 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1381 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data;
1492 if (ifmgd->flags & IEEE80211_STA_ENABLE_RRM)
1555 qos_info = ifmgd->uapsd_queues;
1556 qos_info |= (ifmgd->uapsd_max_sp_len <<
1580 kfree(ifmgd->assoc_req_ies);
1581 ifmgd->assoc_req_ies = kmemdup(ie_start, pos - ie_start, GFP_ATOMIC);
1582 if (!ifmgd->assoc_req_ies) {
1587 ifmgd->assoc_req_ies_len = pos - ie_start;
1623 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1641 if (ifmgd->flags & IEEE80211_STA_CONNECTION_POLL)
1686 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1696 if (!ifmgd->associated)
1724 &ifmgd->csa_connection_drop_work);
1736 &ifmgd->csa_connection_drop_work);
1755 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1781 &ifmgd->csa_connection_drop_work);
1791 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1801 &ifmgd->csa_connection_drop_work);
1845 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
2016 &ifmgd->csa_connection_drop_work);
2334 struct ieee80211_if_managed *ifmgd;
2342 ifmgd = &sdata->u.mgd;
2376 !(ifmgd->flags & IEEE80211_STA_NULLFUNC_ACKED)) {
2390 (ifmgd->flags & IEEE80211_STA_NULLFUNC_ACKED)) {
2391 ifmgd->flags &= ~IEEE80211_STA_NULLFUNC_ACKED;
2427 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
2435 struct ieee80211_sta_tx_tspec *tx_tspec = &ifmgd->tx_tspec[ac];
2490 schedule_delayed_work(&ifmgd->tx_tspec_wk,
2522 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
2532 ifmgd->tx_tspec[ac].downgraded);
2533 if (!ifmgd->tx_tspec[ac].downgraded &&
2550 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
2568 if (ifmgd->flags & IEEE80211_STA_UAPSD_ENABLED)
2569 uapsd_queues = ifmgd->uapsd_queues;
2572 /* -1 is the initial value of ifmgd->mu_edca_last_param_set.
2889 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
2902 if (WARN_ON(!ifmgd->associated))
2907 ifmgd->associated = false;
2986 memset(&ifmgd->ht_capa, 0, sizeof(ifmgd->ht_capa));
2987 memset(&ifmgd->ht_capa_mask, 0, sizeof(ifmgd->ht_capa_mask));
2988 memset(&ifmgd->vht_capa, 0, sizeof(ifmgd->vht_capa));
2989 memset(&ifmgd->vht_capa_mask, 0, sizeof(ifmgd->vht_capa_mask));
3036 ifmgd->flags = 0;
3060 memset(ifmgd->tx_tspec, 0, sizeof(ifmgd->tx_tspec));
3061 cancel_delayed_work_sync(&ifmgd->tx_tspec_wk);
3073 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3077 if (!(ifmgd->flags & IEEE80211_STA_CONNECTION_POLL))
3096 mod_timer(&ifmgd->conn_mon_timer,
3107 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3118 tx_tspec = &ifmgd->tx_tspec[ac];
3129 schedule_delayed_work(&ifmgd->tx_tspec_wk, 0);
3141 schedule_delayed_work(&ifmgd->tx_tspec_wk, 0);
3177 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3190 if (ifmgd->probe_send_count >= unicast_limit)
3200 ifmgd->probe_send_count++;
3211 ifmgd->nullfunc_failed = false;
3220 ifmgd->probe_timeout = jiffies + msecs_to_jiffies(probe_wait_ms);
3221 run_again(sdata, ifmgd->probe_timeout);
3227 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3238 if (!ifmgd->associated)
3274 if (ifmgd->flags & IEEE80211_STA_CONNECTION_POLL)
3277 ifmgd->flags |= IEEE80211_STA_CONNECTION_POLL;
3288 ifmgd->probe_send_count = 0;
3298 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3310 if (ifmgd->associated)
3312 else if (ifmgd->auth_data)
3313 cbss = ifmgd->auth_data->bss;
3314 else if (ifmgd->assoc_data && ifmgd->assoc_data->link[0].bss)
3315 cbss = ifmgd->assoc_data->link[0].bss;
3359 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3363 if (!ifmgd->associated)
3370 if (!ifmgd->driver_disconnect) {
3394 ifmgd->driver_disconnect ?
3411 ifmgd->reconnect);
3412 ifmgd->reconnect = false;
3428 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3430 if (ifmgd->connection_loss) {
3434 ifmgd->connection_loss = false;
3435 } else if (ifmgd->driver_disconnect) {
3440 ifmgd->driver_disconnect = false;
3442 if (ifmgd->associated)
3622 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3623 const u8 *ap_addr = ifmgd->auth_data->ap_addr;
3628 ifmgd->auth_data->done = true;
3629 ifmgd->auth_data->timeout = jiffies + IEEE80211_AUTH_WAIT_ASSOC;
3630 ifmgd->auth_data->timeout_started = true;
3631 run_again(sdata, ifmgd->auth_data->timeout);
3655 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3670 if (!ifmgd->auth_data || ifmgd->auth_data->done)
3673 if (!ether_addr_equal(ifmgd->auth_data->ap_addr, mgmt->bssid))
3680 if (auth_alg != ifmgd->auth_data->algorithm ||
3682 auth_transaction != ifmgd->auth_data->expected_transaction) ||
3684 (auth_transaction < ifmgd->auth_data->expected_transaction ||
3687 mgmt->sa, auth_alg, ifmgd->auth_data->algorithm,
3689 ifmgd->auth_data->expected_transaction);
3702 ifmgd->auth_data->waiting = true;
3703 ifmgd->auth_data->timeout =
3705 ifmgd->auth_data->timeout_started = true;
3706 run_again(sdata, ifmgd->auth_data->timeout);
3719 switch (ifmgd->auth_data->algorithm) {
3729 if (ifmgd->auth_data->expected_transaction != 4) {
3737 ifmgd->auth_data->algorithm);
3744 if (ifmgd->auth_data->algorithm != WLAN_AUTH_SAE ||
3746 ifmgd->auth_data->expected_transaction == 2)) {
3749 } else if (ifmgd->auth_data->algorithm == WLAN_AUTH_SAE &&
3752 ifmgd->auth_data->peer_confirmed = true;
3820 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3833 if (ifmgd->associated &&
3846 if (ifmgd->assoc_data &&
3847 ether_addr_equal(mgmt->bssid, ifmgd->assoc_data->ap_addr)) {
3850 ifmgd->assoc_data->ap_addr, reason_code,
3864 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3872 if (!ifmgd->associated ||
5109 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
5110 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data;
5227 if (ifmgd->flags & IEEE80211_STA_MFP_ENABLED) {
5241 if (!err && !(ifmgd->flags & IEEE80211_STA_CONTROL_PORT))
5262 if (ifmgd->use_4addr)
5283 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
5284 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data;
5370 ifmgd->broken_ap = false;
5404 ifmgd->broken_ap = true;
5487 resp.req_ies = ifmgd->assoc_req_ies;
5488 resp.req_ies_len = ifmgd->assoc_req_ies_len;
5528 struct ieee80211_if_managed *ifmgd;
5533 ifmgd = &sdata->u.mgd;
5560 if (ifmgd->associated &&
5590 struct ieee80211_if_managed *ifmgd,
5612 if (ifmgd->rssi_min_thold != ifmgd->rssi_max_thold &&
5624 if (sig > ifmgd->rssi_max_thold &&
5625 (last_sig <= ifmgd->rssi_min_thold || last_sig == 0)) {
5629 } else if (sig < ifmgd->rssi_min_thold &&
5630 (last_sig >= ifmgd->rssi_max_thold ||
5907 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
5965 if (ifmgd->assoc_data && ifmgd->assoc_data->need_beacon &&
5967 ieee80211_rx_our_beacon(bssid, ifmgd->assoc_data->link[0].bss)) {
5968 parse_params.bss = ifmgd->assoc_data->link[0].bss;
5978 ifmgd->assoc_data->need_beacon = false;
6000 ifmgd->assoc_data->timeout = jiffies;
6001 ifmgd->assoc_data->timeout_started = true;
6002 run_again(sdata, ifmgd->assoc_data->timeout);
6007 if (!ifmgd->associated ||
6013 ieee80211_handle_beacon_sig(link, ifmgd, bss_conf,
6016 if (ifmgd->flags & IEEE80211_STA_CONNECTION_POLL) {
6388 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
6389 struct ieee80211_mgd_auth_data *auth_data = ifmgd->auth_data;
6520 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
6524 if (ifmgd->status_received) {
6525 __le16 fc = ifmgd->status_fc;
6526 bool status_acked = ifmgd->status_acked;
6528 ifmgd->status_received = false;
6529 if (ifmgd->auth_data && ieee80211_is_auth(fc)) {
6531 if (ifmgd->auth_data->algorithm ==
6533 ifmgd->auth_data->timeout =
6537 ifmgd->auth_data->timeout =
6540 run_again(sdata, ifmgd->auth_data->timeout);
6542 ifmgd->auth_data->timeout = jiffies - 1;
6544 ifmgd->auth_data->timeout_started = true;
6545 } else if (ifmgd->assoc_data &&
6549 ifmgd->assoc_data->timeout =
6551 run_again(sdata, ifmgd->assoc_data->timeout);
6553 ifmgd->assoc_data->timeout = jiffies - 1;
6555 ifmgd->assoc_data->timeout_started = true;
6559 if (ifmgd->auth_data && ifmgd->auth_data->timeout_started &&
6560 time_after(jiffies, ifmgd->auth_data->timeout)) {
6561 if (ifmgd->auth_data->done || ifmgd->auth_data->waiting) {
6575 memcpy(ap_addr, ifmgd->auth_data->ap_addr, ETH_ALEN);
6582 } else if (ifmgd->auth_data && ifmgd->auth_data->timeout_started)
6583 run_again(sdata, ifmgd->auth_data->timeout);
6585 if (ifmgd->assoc_data && ifmgd->assoc_data->timeout_started &&
6586 time_after(jiffies, ifmgd->assoc_data->timeout)) {
6587 if ((ifmgd->assoc_data->need_beacon &&
6599 } else if (ifmgd->assoc_data && ifmgd->assoc_data->timeout_started)
6600 run_again(sdata, ifmgd->assoc_data->timeout);
6602 if (ifmgd->flags & IEEE80211_STA_CONNECTION_POLL &&
6603 ifmgd->associated) {
6613 if (!ifmgd->probe_send_count)
6615 else if (ifmgd->nullfunc_failed) {
6616 if (ifmgd->probe_send_count < max_tries) {
6619 bssid, ifmgd->probe_send_count,
6630 } else if (time_is_after_jiffies(ifmgd->probe_timeout))
6631 run_again(sdata, ifmgd->probe_timeout);
6638 } else if (ifmgd->probe_send_count < max_tries) {
6642 ifmgd->probe_send_count, max_tries);
6685 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
6710 mod_timer(&ifmgd->conn_mon_timer, round_jiffies_up(timeout));
6714 ieee80211_queue_work(&local->hw, &ifmgd->monitor_work);
6741 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
6746 if (ifmgd->auth_data || ifmgd->assoc_data) {
6747 const u8 *ap_addr = ifmgd->auth_data ?
6748 ifmgd->auth_data->ap_addr :
6749 ifmgd->assoc_data->ap_addr;
6760 if (ifmgd->assoc_data)
6762 if (ifmgd->auth_data)
6786 if (ifmgd->associated && !sdata->local->wowlan) {
6803 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
6806 if (!ifmgd->associated) {
6850 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
6852 INIT_WORK(&ifmgd->monitor_work, ieee80211_sta_monitor_work);
6853 wiphy_work_init(&ifmgd->beacon_connection_loss_work,
6855 wiphy_work_init(&ifmgd->csa_connection_drop_work,
6857 INIT_DELAYED_WORK(&ifmgd->tdls_peer_del_work,
6859 wiphy_delayed_work_init(&ifmgd->ml_reconf_work,
6861 timer_setup(&ifmgd->timer, ieee80211_sta_timer, 0);
6862 timer_setup(&ifmgd->bcn_mon_timer, ieee80211_sta_bcn_mon_timer, 0);
6863 timer_setup(&ifmgd->conn_mon_timer, ieee80211_sta_conn_mon_timer, 0);
6864 INIT_DELAYED_WORK(&ifmgd->tx_tspec_wk,
6867 ifmgd->flags = 0;
6868 ifmgd->powersave = sdata->wdev.ps;
6869 ifmgd->uapsd_queues = sdata->local->hw.uapsd_queues;
6870 ifmgd->uapsd_max_sp_len = sdata->local->hw.uapsd_max_sp_len;
6872 spin_lock_init(&ifmgd->teardown_lock);
6873 ifmgd->teardown_skb = NULL;
6874 ifmgd->orig_teardown_skb = NULL;
6924 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
6955 if (WARN_ON(!ifmgd->auth_data && !ifmgd->assoc_data)) {
7102 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
7141 if (ifmgd->assoc_data)
7172 cont_auth = ifmgd->auth_data && req->bss == ifmgd->auth_data->bss &&
7173 ifmgd->auth_data->link_id == req->link_id;
7191 if (ifmgd->auth_data) {
7194 ifmgd->auth_data->peer_confirmed;
7200 ifmgd->auth_data = auth_data;
7211 if (ifmgd->associated) {
7256 ifmgd->auth_data = NULL;
7435 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
7494 if (ifmgd->associated) {
7510 if (ifmgd->auth_data && !ifmgd->auth_data->done) {
7515 if (ifmgd->assoc_data) {
7520 if (ifmgd->auth_data) {
7524 match = ether_addr_equal(ifmgd->auth_data->ap_addr,
7526 ifmgd->auth_data->link_id == req->link_id;
7588 memcpy(&ifmgd->ht_capa, &req->ht_capa, sizeof(ifmgd->ht_capa));
7589 memcpy(&ifmgd->ht_capa_mask, &req->ht_capa_mask,
7590 sizeof(ifmgd->ht_capa_mask));
7592 memcpy(&ifmgd->vht_capa, &req->vht_capa, sizeof(ifmgd->vht_capa));
7593 memcpy(&ifmgd->vht_capa_mask, &req->vht_capa_mask,
7594 sizeof(ifmgd->vht_capa_mask));
7596 memcpy(&ifmgd->s1g_capa, &req->s1g_capa, sizeof(ifmgd->s1g_capa));
7597 memcpy(&ifmgd->s1g_capa_mask, &req->s1g_capa_mask,
7598 sizeof(ifmgd->s1g_capa_mask));
7666 ifmgd->flags |= IEEE80211_STA_UAPSD_ENABLED;
7669 ifmgd->flags &= ~IEEE80211_STA_UAPSD_ENABLED;
7676 ifmgd->mfp = IEEE80211_MFP_REQUIRED;
7677 ifmgd->flags |= IEEE80211_STA_MFP_ENABLED;
7679 ifmgd->mfp = IEEE80211_MFP_DISABLED;
7680 ifmgd->flags &= ~IEEE80211_STA_MFP_ENABLED;
7684 ifmgd->flags |= IEEE80211_STA_ENABLE_RRM;
7686 ifmgd->flags &= ~IEEE80211_STA_ENABLE_RRM;
7689 ifmgd->flags |= IEEE80211_STA_CONTROL_PORT;
7691 ifmgd->flags &= ~IEEE80211_STA_CONTROL_PORT;
7700 ifmgd->assoc_data = assoc_data;
7751 ifmgd->assoc_data = NULL;
7760 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
7767 if (ifmgd->auth_data &&
7768 ether_addr_equal(ifmgd->auth_data->ap_addr, req->bssid)) {
7787 if (ifmgd->assoc_data &&
7788 ether_addr_equal(ifmgd->assoc_data->ap_addr, req->bssid)) {
7807 if (ifmgd->associated &&
7860 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
7867 cancel_work_sync(&ifmgd->monitor_work);
7869 &ifmgd->beacon_connection_loss_work);
7871 &ifmgd->csa_connection_drop_work);
7872 cancel_delayed_work_sync(&ifmgd->tdls_peer_del_work);
7874 &ifmgd->ml_reconf_work);
7877 if (ifmgd->assoc_data)
7879 if (ifmgd->auth_data)
7881 spin_lock_bh(&ifmgd->teardown_lock);
7882 if (ifmgd->teardown_skb) {
7883 kfree_skb(ifmgd->teardown_skb);
7884 ifmgd->teardown_skb = NULL;
7885 ifmgd->orig_teardown_skb = NULL;
7887 kfree(ifmgd->assoc_req_ies);
7888 ifmgd->assoc_req_ies = NULL;
7889 ifmgd->assoc_req_ies_len = 0;
7890 spin_unlock_bh(&ifmgd->teardown_lock);
7891 del_timer_sync(&ifmgd->timer);