Lines Matching refs:mgd
151 link->u.mgd.conn_flags |=
180 if (!timer_pending(&sdata->u.mgd.timer) ||
181 time_before(timeout, sdata->u.mgd.timer.expires))
182 mod_timer(&sdata->u.mgd.timer, timeout);
193 mod_timer(&sdata->u.mgd.bcn_mon_timer,
194 round_jiffies_up(jiffies + sdata->u.mgd.beacon_timeout));
199 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
494 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
505 if (link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HT || !ht_oper)
509 if (link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_VHT)
513 if (link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HE ||
520 if (link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_EHT ||
539 link->u.mgd.conn_flags,
552 if (link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_80P80MHZ &&
555 if (link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_160MHZ &&
558 if (link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_40MHZ &&
567 link->u.mgd.bssid, chandef.chan->center_freq,
572 if (flags != (link->u.mgd.conn_flags &
584 link->u.mgd.bssid, flags, ifmgd->flags);
593 link->u.mgd.bssid);
1029 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1054 else if (sdata->u.mgd.powersave)
1205 link->u.mgd.conn_flags = assoc_data->link[link_id].conn_flags;
1275 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1380 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1497 !(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HE) &&
1623 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1667 memcpy(nullfunc->addr1, sdata->deflink.u.mgd.bssid, ETH_ALEN);
1669 memcpy(nullfunc->addr3, sdata->deflink.u.mgd.bssid, ETH_ALEN);
1683 u.mgd.chswitch_work.work);
1686 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1740 link->u.mgd.csa_waiting_bcn = true;
1755 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1769 link->u.mgd.csa_waiting_bcn = false;
1774 link->u.mgd.beacon_crc_valid = false;
1791 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1804 &sdata->deflink.u.mgd.chswitch_work,
1845 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1846 struct cfg80211_bss *cbss = link->u.mgd.bss;
1865 link->u.mgd.conn_flags,
1866 link->u.mgd.bssid, &csa_ie);
1881 !link->u.mgd.csa_waiting_bcn) {
1896 link->u.mgd.bssid,
1909 link->u.mgd.bssid,
1921 if (link->u.mgd.csa_ignored_same_chan)
1925 link->u.mgd.bssid);
1926 link->u.mgd.csa_ignored_same_chan = true;
1976 link->u.mgd.csa_ignored_same_chan = false;
1977 link->u.mgd.beacon_crc_valid = false;
1998 &link->u.mgd.chswitch_work,
2156 link->u.mgd.bssid);
2165 pwr_level_cisco, link->u.mgd.bssid);
2221 struct ieee80211_if_managed *mgd = &sdata->u.mgd;
2225 if (!mgd->powersave)
2228 if (mgd->broken_ap)
2231 if (!mgd->associated)
2234 if (mgd->flags & IEEE80211_STA_CONNECTION_POLL)
2238 !sdata->deflink.u.mgd.have_beacon)
2281 u8 dtimper = found->deflink.u.mgd.dtim_period;
2342 ifmgd = &sdata->u.mgd;
2427 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
2514 u.mgd.tx_tspec_wk.work);
2522 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
2550 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
2577 if (count == link->u.mgd.wmm_last_param_set &&
2578 mu_edca_count == link->u.mgd.mu_edca_last_param_set)
2580 link->u.mgd.wmm_last_param_set = count;
2581 link->u.mgd.mu_edca_last_param_set = mu_edca_count;
2686 sdata->u.mgd.flags &= ~IEEE80211_STA_CONNECTION_POLL;
2751 sdata->u.mgd.beacon_timeout =
2762 link->u.mgd.bss = cbss;
2763 memcpy(link->u.mgd.bssid, cbss->bssid, ETH_ALEN);
2780 link->u.mgd.p2p_noa_index =
2788 if (link->u.mgd.have_beacon) {
2812 sdata->u.mgd.associated = true;
2889 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
2910 sdata->deflink.u.mgd.bss = NULL;
2949 !sdata->deflink.u.mgd.have_beacon) {
2965 eth_zero_addr(sdata->deflink.u.mgd.bssid);
2981 sdata->deflink.u.mgd.p2p_noa_index = -1;
3025 del_timer_sync(&sdata->u.mgd.conn_mon_timer);
3026 del_timer_sync(&sdata->u.mgd.bcn_mon_timer);
3027 del_timer_sync(&sdata->u.mgd.timer);
3032 sdata->deflink.u.mgd.have_beacon = false;
3033 sdata->deflink.u.mgd.tracking_signal_avg = false;
3034 sdata->deflink.u.mgd.disable_wmm_tracking = false;
3037 sdata->deflink.u.mgd.conn_flags = 0;
3050 sdata->deflink.u.mgd.csa_waiting_bcn = false;
3051 sdata->deflink.u.mgd.csa_ignored_same_chan = false;
3073 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3107 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3151 !sdata->u.mgd.probe_send_count)
3155 sdata->u.mgd.probe_send_count = 0;
3157 sdata->u.mgd.nullfunc_failed = true;
3177 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3217 sdata->deflink.u.mgd.bss->channel);
3227 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3298 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3311 cbss = sdata->deflink.u.mgd.bss;
3359 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3388 cfg80211_unlink_bss(local->hw.wiphy, link->u.mgd.bss);
3389 link->u.mgd.bss = NULL;
3401 sdata->deflink.u.mgd.csa_waiting_bcn = false;
3427 u.mgd.beacon_connection_loss_work);
3428 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3443 sdata->deflink.u.mgd.beacon_loss_count++;
3453 u.mgd.csa_connection_drop_work);
3465 sdata->u.mgd.connection_loss = false;
3466 wiphy_work_queue(hw->wiphy, &sdata->u.mgd.beacon_connection_loss_work);
3477 sdata->u.mgd.connection_loss = true;
3478 wiphy_work_queue(hw->wiphy, &sdata->u.mgd.beacon_connection_loss_work);
3492 sdata->u.mgd.driver_disconnect = true;
3493 sdata->u.mgd.reconnect = reconnect;
3494 wiphy_work_queue(hw->wiphy, &sdata->u.mgd.beacon_connection_loss_work);
3501 struct ieee80211_mgd_auth_data *auth_data = sdata->u.mgd.auth_data;
3511 del_timer_sync(&sdata->u.mgd.timer);
3515 sdata->deflink.u.mgd.conn_flags = 0;
3516 eth_zero_addr(sdata->deflink.u.mgd.bssid);
3519 sdata->u.mgd.flags = 0;
3529 sdata->u.mgd.auth_data = NULL;
3542 struct ieee80211_mgd_assoc_data *assoc_data = sdata->u.mgd.assoc_data;
3552 del_timer_sync(&sdata->u.mgd.timer);
3555 sdata->deflink.u.mgd.conn_flags = 0;
3556 eth_zero_addr(sdata->deflink.u.mgd.bssid);
3559 sdata->u.mgd.flags = 0;
3587 sdata->u.mgd.assoc_data = NULL;
3594 struct ieee80211_mgd_auth_data *auth_data = sdata->u.mgd.auth_data;
3622 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3655 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3820 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3864 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
4006 struct ieee80211_mgd_assoc_data *assoc_data = sdata->u.mgd.assoc_data;
4044 link->u.mgd.bss_param_ch_cnt =
4061 link->u.mgd.bss_param_ch_cnt =
4078 link->u.mgd.tdls_chan_switch_prohibited =
4091 (!(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HT) &&
4093 (!(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_VHT) &&
4130 !(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HT)) {
4136 !(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HT)) {
4142 !(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_VHT)) {
4148 !(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_VHT)) {
4161 if (!is_6ghz && !(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HT) &&
4169 if (!is_6ghz && !(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_VHT) &&
4177 if (is_6ghz && !(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HE) &&
4191 if (!(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HE) &&
4200 if (elems->ht_cap_elem && !(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HT))
4206 !(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_VHT)) {
4233 if (elems->he_operation && !(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HE) &&
4254 !(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_EHT)) {
4343 link->u.mgd.wmm_last_param_set = -1;
4344 link->u.mgd.mu_edca_last_param_set = -1;
4346 if (link->u.mgd.disable_wmm_tracking) {
4360 link->u.mgd.disable_wmm_tracking = true;
4463 if (link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HT)
4476 if (link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_VHT)
4495 if (link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HE)
5109 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
5171 if (!link->u.mgd.have_beacon) {
5177 link->u.mgd.have_beacon = true;
5182 &link->u.mgd.dtim_period);
5187 link->conf->dtim_period = link->u.mgd.dtim_period ?: 1;
5191 &link->u.mgd.conn_flags);
5283 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
5533 ifmgd = &sdata->u.mgd;
5561 ether_addr_equal(mgmt->bssid, link->u.mgd.bssid))
5599 if (!link->u.mgd.tracking_signal_avg) {
5600 link->u.mgd.tracking_signal_avg = true;
5601 ewma_beacon_signal_init(&link->u.mgd.ave_beacon_signal);
5602 link->u.mgd.last_cqm_event_signal = 0;
5603 link->u.mgd.count_beacon_signal = 1;
5604 link->u.mgd.last_ave_beacon_signal = 0;
5606 link->u.mgd.count_beacon_signal++;
5609 ewma_beacon_signal_add(&link->u.mgd.ave_beacon_signal,
5613 link->u.mgd.count_beacon_signal >= IEEE80211_SIGNAL_AVE_MIN_COUNT) {
5614 int sig = -ewma_beacon_signal_read(&link->u.mgd.ave_beacon_signal);
5615 int last_sig = link->u.mgd.last_ave_beacon_signal;
5626 link->u.mgd.last_ave_beacon_signal = sig;
5632 link->u.mgd.last_ave_beacon_signal = sig;
5639 link->u.mgd.count_beacon_signal >= IEEE80211_SIGNAL_AVE_MIN_COUNT &&
5641 int sig = -ewma_beacon_signal_read(&link->u.mgd.ave_beacon_signal);
5642 int last_event = link->u.mgd.last_cqm_event_signal;
5648 link->u.mgd.last_cqm_event_signal = sig;
5655 link->u.mgd.last_cqm_event_signal = sig;
5664 link->u.mgd.count_beacon_signal >= IEEE80211_SIGNAL_AVE_MIN_COUNT) {
5665 int sig = -ewma_beacon_signal_read(&link->u.mgd.ave_beacon_signal);
5666 int last_event = link->u.mgd.last_cqm_event_signal;
5672 link->u.mgd.last_cqm_event_signal = sig;
5679 link->u.mgd.last_cqm_event_signal = sig;
5727 link->u.mgd.bssid,
5742 u.mgd.ml_reconf_work.work);
5747 if (!sdata->u.mgd.removed_links) {
5754 sdata->vif.valid_links, sdata->u.mgd.removed_links);
5756 new_valid_links = sdata->vif.valid_links & ~sdata->u.mgd.removed_links;
5769 new_active_links = sdata->vif.active_links & ~sdata->u.mgd.removed_links;
5785 new_dormant_links = sdata->vif.dormant_links & ~sdata->u.mgd.removed_links;
5794 cfg80211_links_removed(sdata->dev, sdata->u.mgd.removed_links);
5798 sdata->u.mgd.removed_links = 0;
5868 if (sdata->u.mgd.removed_links) {
5869 sdata->u.mgd.removed_links = 0;
5871 &sdata->u.mgd.ml_reconf_work);
5896 sdata->u.mgd.removed_links = removed_links;
5898 &sdata->u.mgd.ml_reconf_work,
5907 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
5976 link->u.mgd.dtim_period = elems->dtim_period;
5977 link->u.mgd.have_beacon = true;
6008 !ieee80211_rx_our_beacon(bssid, link->u.mgd.bss))
6010 bssid = link->u.mgd.bssid;
6035 parse_params.bss = link->u.mgd.bss;
6052 } else if (!local->pspolling && sdata->u.mgd.powersave) {
6077 if (link->u.mgd.p2p_noa_index != noa.index) {
6079 link->u.mgd.p2p_noa_index = noa.index;
6086 link->u.mgd.beacon_crc_valid = false;
6088 } else if (link->u.mgd.p2p_noa_index != -1) {
6090 link->u.mgd.p2p_noa_index = -1;
6093 link->u.mgd.beacon_crc_valid = false;
6097 if (link->u.mgd.csa_waiting_bcn)
6117 if ((ncrc == link->u.mgd.beacon_crc && link->u.mgd.beacon_crc_valid) ||
6120 link->u.mgd.beacon_crc = ncrc;
6121 link->u.mgd.beacon_crc_valid = true;
6129 if (!link->u.mgd.disable_wmm_tracking &&
6139 if (!link->u.mgd.have_beacon) {
6144 link->u.mgd.have_beacon = true;
6217 !(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_EHT)) {
6303 if (!sdata->u.mgd.associated ||
6368 from_timer(sdata, t, u.mgd.timer);
6388 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
6462 struct ieee80211_mgd_assoc_data *assoc_data = sdata->u.mgd.assoc_data;
6510 sdata->u.mgd.status_fc = fc;
6511 sdata->u.mgd.status_acked = acked;
6512 sdata->u.mgd.status_received = true;
6520 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
6588 !sdata->deflink.u.mgd.have_beacon) ||
6604 u8 *bssid = sdata->deflink.u.mgd.bssid;
6664 from_timer(sdata, t, u.mgd.bcn_mon_timer);
6670 !sdata->deflink.u.mgd.csa_waiting_bcn)
6676 sdata->u.mgd.connection_loss = false;
6678 &sdata->u.mgd.beacon_connection_loss_work);
6684 from_timer(sdata, t, u.mgd.conn_mon_timer);
6685 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
6694 !sdata->deflink.u.mgd.csa_waiting_bcn)
6721 u.mgd.monitor_work);
6734 &sdata->u.mgd.monitor_work);
6741 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
6803 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
6839 u.mgd.request_smps_work);
6843 link->u.mgd.driver_smps_mode);
6850 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
6883 link->u.mgd.p2p_noa_index = -1;
6884 link->u.mgd.conn_flags = 0;
6885 link->conf->bssid = link->u.mgd.bssid;
6887 wiphy_work_init(&link->u.mgd.request_smps_work,
6890 link->u.mgd.req_smps = IEEE80211_SMPS_AUTOMATIC;
6892 link->u.mgd.req_smps = IEEE80211_SMPS_OFF;
6894 wiphy_delayed_work_init(&link->u.mgd.chswitch_work,
6897 if (sdata->u.mgd.assoc_data)
6899 sdata->u.mgd.assoc_data->link[link_id].addr);
6924 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
7022 memcpy(link->u.mgd.bssid, cbss->bssid, ETH_ALEN);
7053 &link->u.mgd.conn_flags);
7083 WARN_ON_ONCE(!ether_addr_equal(link->u.mgd.bssid, cbss->bssid));
7102 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
7249 eth_zero_addr(sdata->deflink.u.mgd.bssid);
7329 link->u.mgd.beacon_crc_valid = false;
7330 link->u.mgd.dtim_period = 0;
7331 link->u.mgd.have_beacon = false;
7351 &link->u.mgd.dtim_period);
7353 sdata->deflink.u.mgd.have_beacon = true;
7418 if (link->u.mgd.req_smps == IEEE80211_SMPS_AUTOMATIC) {
7419 if (sdata->u.mgd.powersave)
7424 link->smps_mode = link->u.mgd.req_smps;
7435 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
7451 if (sdata->u.mgd.use_4addr && req->link_id >= 0)
7652 conn_flags |= link->u.mgd.conn_flags;
7655 override = link->u.mgd.conn_flags != conn_flags;
7656 link->u.mgd.conn_flags |= conn_flags;
7723 link->u.mgd.conn_flags;
7736 link->u.mgd.bssid);
7748 eth_zero_addr(sdata->deflink.u.mgd.bssid);
7760 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
7831 if (!sdata->u.mgd.associated ||
7853 &link->u.mgd.request_smps_work);
7855 &link->u.mgd.chswitch_work);
7860 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
7932 sdata->u.mgd.rssi_min_thold = rssi_min_thold*16;
7933 sdata->u.mgd.rssi_max_thold = rssi_max_thold*16;