| /net/mac80211/ |
| A D | sta_info.c | 299 return &sta->sta; in ieee80211_find_sta_by_link_addrs() 311 return &sta->sta; in ieee80211_find_sta_by_link_addrs() 588 link_info->pub->sta = &sta->sta; in sta_info_add_link() 624 sta_info_add_link(sta, 0, &sta->deflink, &sta->sta.deflink); in __sta_info_alloc() 627 sta->sta.cur = &sta->sta.deflink.agg; in __sta_info_alloc() 1796 if (!sta->sta.txq[i] || !txq_has_queue(sta->sta.txq[i])) in ieee80211_sta_ps_deliver_wakeup() 1844 sta->sta.addr, sta->sta.aid, filtered, buffered); in ieee80211_sta_ps_deliver_wakeup() 2383 if (!sta->sta.valid_links || !sta->sta.mlo) { in __ieee80211_sta_recalc_aggregates() 2384 sta->sta.cur = &sta->sta.deflink.agg; in __ieee80211_sta_recalc_aggregates() 2401 sta->cur = sta->sta.deflink.agg; in __ieee80211_sta_recalc_aggregates() [all …]
|
| A D | mesh_plink.c | 79 sta->mesh->llid = sta->mesh->plid = sta->mesh->reason = 0; in mesh_plink_fsm_restart() 186 sta->sta.addr); in mesh_set_ht_prot_mode() 411 sta->sta.addr, sta->mesh->llid, in mesh_plink_deactivate() 538 sta->sta.wme = true; in __mesh_sta_info_alloc() 539 sta->sta.aid = aid; in __mesh_sta_info_alloc() 683 sta->sta.addr, mplstates[sta->mesh->plink_state]); in mesh_plink_timer() 700 sta->sta.addr, mplstates[sta->mesh->plink_state]); in mesh_plink_timer() 712 sta->sta.addr, sta->mesh->plink_retries, in mesh_plink_timer() 805 sta->sta.addr); in mesh_plink_open() 811 sta->sta.addr, sta->mesh->llid, 0, 0); in mesh_plink_open() [all …]
|
| A D | mesh_ps.c | 37 ieee80211_fill_mesh_addresses(nullfunc, &fc, sta->sta.addr, in mps_qos_null_get() 43 memcpy(nullfunc->addr1, sta->sta.addr, ETH_ALEN); in mps_qos_null_get() 63 sta->sta.addr); in mps_qos_null_tx() 165 pm, sta->sta.addr); in ieee80211_mps_set_sta_local_pm() 200 !sta)) in ieee80211_mps_set_frame_flags() 273 sta->sta.addr); in ieee80211_mps_sta_status_update() 308 sta->sta.addr, pm); in mps_set_sta_peer_pm() 329 sta->sta.addr, pm); in mps_set_sta_nonpeer_pm() 434 sta->sta.addr); in mpsp_qos_null_append() 498 skb_queue_len(&frames), sta->sta.addr); in mps_frame_deliver() [all …]
|
| A D | agg-rx.c | 64 .sta = &sta->sta, in __ieee80211_stop_rx_ba_session() 85 sta->sta.addr, tid, in __ieee80211_stop_rx_ba_session() 92 sta->sta.addr, tid); in __ieee80211_stop_rx_ba_session() 96 ieee80211_send_delba(sta->sdata, sta->sta.addr, in __ieee80211_stop_rx_ba_session() 159 sta->sta.addr, tid); in sta_rx_agg_session_timer_expired() 217 (sta->sta.valid_links || sta->sta.deflink.eht_cap.has_eht)) { in ieee80211_retrieve_addba_ext_data() 265 if (sta->sta.valid_links || sta->sta.deflink.he_cap.has_he) in ieee80211_send_addba_resp() 280 .sta = &sta->sta, in __ieee80211_start_rx_ba_session() 318 if (sta->sta.valid_links || sta->sta.deflink.eht_cap.has_eht) in __ieee80211_start_rx_ba_session() 444 tid_agg_rx->sta = sta; in __ieee80211_start_rx_ba_session() [all …]
|
| A D | agg-tx.c | 296 .sta = &sta->sta, in __ieee80211_stop_tx_ba_session() 363 sta->sta.addr, tid); in __ieee80211_stop_tx_ba_session() 434 sta->sta.addr, tid); in sta_addba_resp_timer_expired() 439 sta->sta.addr, tid); in sta_addba_resp_timer_expired() 461 sta->sta.addr, tid); in ieee80211_send_addba_with_timeout() 468 if (sta->sta.valid_links || in ieee80211_send_addba_with_timeout() 498 .sta = &sta->sta, in ieee80211_tx_ba_session_handle_start() 595 sta->sta.addr, tid); in sta_tx_agg_session_timer_expired() 723 tid_tx->sta = sta; in ieee80211_start_tx_ba_session() 757 .sta = &sta->sta, in ieee80211_agg_tx_operational() [all …]
|
| A D | tdls.c | 1020 sta->sta.tdls_initiator = false; in ieee80211_tdls_prep_mgmt_packet() 1035 sta->sta.tdls_initiator = true; in ieee80211_tdls_prep_mgmt_packet() 1367 if (!sta->sta.tdls || sta->sdata != sdata || !sta->uploaded || in iee80211_tdls_have_ht_peers() 1394 tdls_ht = (sta && sta->sta.deflink.ht_cap.ht_supported) || in iee80211_tdls_recalc_ht_protection() 1560 int link_id = sta->sta.valid_links ? ffs(sta->sta.valid_links) - 1 : 0; in ieee80211_tdls_ch_sw_tmpl_get() 1707 int link_id = sta->sta.valid_links ? ffs(sta->sta.valid_links) - 1 : 0; in ieee80211_tdls_ch_sw_resp_tmpl_get() 1741 sta->sta.addr); in ieee80211_tdls_ch_sw_resp_tmpl_get() 1778 params.sta = &sta->sta; in ieee80211_process_tdls_channel_switch_resp() 1955 params.sta = &sta->sta; in ieee80211_process_tdls_channel_switch_req() 2040 if (!sta->sta.tdls || sta->sdata != sdata || !sta->uploaded || in ieee80211_teardown_tdls_peers() [all …]
|
| A D | rate.c | 33 struct sta_info *sta = link_sta->sta; in rate_control_rate_init() local 36 struct ieee80211_sta *ista = &sta->sta; in rate_control_rate_init() 94 struct sta_info *sta = container_of(st->sta, struct sta_info, sta); in rate_control_tx_status() local 120 struct sta_info *sta = link_sta->sta; in rate_control_rate_update() local 121 struct ieee80211_sta *ista = &sta->sta; in rate_control_rate_update() 400 sta ? sta->addr : NULL, in __rate_control_send_low() 401 sta ? sta->deflink.supp_rates[sband->band] : -1, in __rate_control_send_low() 830 if (!rate_control_cap_mask(sta->sdata, sband, &sta->sta, &mask, in rate_control_apply_mask_ratetbl() 913 if (sta) in ieee80211_get_tx_rates() 934 if (rate_control_send_low(sta ? &sta->sta : NULL, txrc)) in rate_control_get_rate() [all …]
|
| A D | tx.c | 481 sta->sta.addr, sta->sta.aid, ac); in ieee80211_tx_h_unicast_ps_buf() 1150 tx->sta->sta.addr, tx->sta->sta.aid); in ieee80211_tx_prep_agg() 1182 (!sta->sta.valid_links && !sta->sta.deflink.ht_cap.ht_supported && in ieee80211_aggr_check() 1228 tx->sta = sta; in ieee80211_tx_prepare() 1531 txqi->txq.sta = &sta->sta; in ieee80211_txq_init() 1725 control.sta = sta ? &sta->sta : NULL; in ieee80211_tx_frags() 1905 *sta = &tx.sta->sta; in ieee80211_tx_prepare_skb() 2672 (sta && sta->sta.mlo)) { in ieee80211_build_hdr() 3721 tx.sta = sta; in __ieee80211_xmit_fast() 5854 qos = sta && sta->sta.wme; in ieee80211_nullfunc_get() [all …]
|
| A D | sta_info.h | 149 struct sta_info *sta, u8 ac, 189 struct sta_info *sta; member 244 struct sta_info *sta; member 523 struct sta_info *sta; member 777 struct ieee80211_sta sta; member 783 return sta->sta.valid_links ? __ffs(sta->sta.valid_links) : 0; in ieee80211_tdls_sta_link_id() 789 return sta->mesh->plink_state; in sta_plink_state() 800 set_bit(flag, &sta->_flags); in set_sta_flag() 809 clear_bit(flag, &sta->_flags); in clear_sta_flag() 815 return test_bit(flag, &sta->_flags); in test_sta_flag() [all …]
|
| A D | status.c | 842 if (sta->sta.tdls) { in ieee80211_lost_packet() 858 cfg80211_cqm_pktloss_notify(sta->sdata->dev, sta->sta.addr, in ieee80211_lost_packet() 969 if (status->sta) { in __ieee80211_tx_status() 970 sta = container_of(status->sta, struct sta_info, sta); in __ieee80211_tx_status() 1113 if (sta) in ieee80211_tx_status_skb() 1114 status.sta = &sta->sta; in ieee80211_tx_status_skb() 1134 sta = container_of(pubsta, struct sta_info, sta); in ieee80211_tx_status_ext() 1250 struct sta_info *sta = container_of(pubsta, struct sta_info, sta); in ieee80211_tx_rate_update() local 1253 .sta = pubsta, in ieee80211_tx_rate_update() 1265 struct sta_info *sta = container_of(pubsta, struct sta_info, sta); in ieee80211_report_low_ack() local [all …]
|
| A D | mesh_sync.c | 90 struct sta_info *sta; in mesh_sync_offset_rx_bcn_presp() local 112 sta = sta_info_get(sdata, mgmt->sa); in mesh_sync_offset_rx_bcn_presp() 113 if (!sta) in mesh_sync_offset_rx_bcn_presp() 124 sta->sta.addr); in mesh_sync_offset_rx_bcn_presp() 130 sta->mesh->t_offset = t_t - t_r; in mesh_sync_offset_rx_bcn_presp() 133 s64 t_clockdrift = sta->mesh->t_offset_setpoint - sta->mesh->t_offset; in mesh_sync_offset_rx_bcn_presp() 136 sta->sta.addr, (long long) sta->mesh->t_offset, in mesh_sync_offset_rx_bcn_presp() 144 sta->sta.addr, in mesh_sync_offset_rx_bcn_presp() 155 sta->mesh->t_offset_setpoint = sta->mesh->t_offset - TOFFSET_SET_MARGIN; in mesh_sync_offset_rx_bcn_presp() 159 sta->sta.addr, in mesh_sync_offset_rx_bcn_presp() [all …]
|
| A D | ocb.c | 47 struct sta_info *sta; in ieee80211_ocb_rx_no_sta() local 71 if (!sta) in ieee80211_ocb_rx_no_sta() 76 sta->sta.deflink.supp_rates[band] = ieee80211_mandatory_rates(sband); in ieee80211_ocb_rx_no_sta() 90 memcpy(addr, sta->sta.addr, ETH_ALEN); in ieee80211_ocb_finish_sta() 102 if (sta_info_insert_rcu(sta)) in ieee80211_ocb_finish_sta() 104 return sta; in ieee80211_ocb_finish_sta() 122 struct sta_info *sta; in ieee80211_ocb_work() local 133 list_del(&sta->list); in ieee80211_ocb_work() 206 struct sta_info *sta; in ieee80211_ocb_leave() local 217 list_del(&sta->list); in ieee80211_ocb_leave() [all …]
|
| A D | rate.h | 26 struct sta_info *sta, 33 void rate_control_rate_init_all_links(struct sta_info *sta); 40 struct sta_info *sta, gfp_t gfp) in rate_control_alloc_sta() argument 42 spin_lock_init(&sta->rate_ctrl_lock); in rate_control_alloc_sta() 43 return ref->ops->alloc_sta(ref->priv, &sta->sta, gfp); in rate_control_alloc_sta() 48 struct rate_control_ref *ref = sta->rate_ctrl; in rate_control_free_sta() 49 struct ieee80211_sta *ista = &sta->sta; in rate_control_free_sta() 50 void *priv_sta = sta->rate_ctrl_priv; in rate_control_free_sta() 58 struct rate_control_ref *ref = sta->rate_ctrl; in rate_control_add_sta_debugfs() 59 if (ref && sta->debugfs_dir && ref->ops->add_sta_debugfs) in rate_control_add_sta_debugfs() [all …]
|
| A D | ht.c | 144 struct sta_info *sta = link_sta->sta; in ieee80211_ht_cap_ie_to_sta_ht_cap() local 248 ieee80211_sta_recalc_aggregates(&sta->sta); in ieee80211_ht_cap_ie_to_sta_ht_cap() 337 wiphy_work_cancel(sta->local->hw.wiphy, &sta->ampdu_mlme.work); in ieee80211_sta_tear_down_BA_sessions() 354 struct sta_info *sta = in ieee80211_ba_session_work() local 390 spin_lock_bh(&sta->lock); in ieee80211_ba_session_work() 394 struct txq_info *txqi = to_txq_info(sta->sta.txq[tid]); in ieee80211_ba_session_work() 434 spin_unlock_bh(&sta->lock); in ieee80211_ba_session_work() 439 spin_unlock_bh(&sta->lock); in ieee80211_ba_session_work() 486 struct sta_info *sta, in ieee80211_process_delba() argument 609 struct sta_info *sta, in ieee80211_ht_handle_chanwidth_notif() argument [all …]
|
| A D | debugfs_sta.c | 157 for (i = 0; i < ARRAY_SIZE(sta->sta.txq); i++) { in sta_aqm_read() 158 if (!sta->sta.txq[i]) in sta_aqm_read() 160 txqi = to_txq_info(sta->sta.txq[i]); in sta_aqm_read() 235 sta->airtime[ac].deficit = sta->airtime_weight; in sta_airtime_write() 416 ret = ieee80211_start_tx_ba_session(&sta->sta, tid, in sta_agg_status_do_write() 419 ret = ieee80211_stop_tx_ba_session(&sta->sta, tid); in sta_agg_status_do_write() 1228 sta->debugfs_dir, sta, &sta_ ##name## _ops) 1231 debugfs_create_ulong(#name, 0400, sta->debugfs_dir, &sta->field); 1243 snprintf(mac, sizeof(mac), "%pM", sta->sta.addr); in ieee80211_sta_debugfs_add() 1274 drv_sta_add_debugfs(local, sdata, &sta->sta, sta->debugfs_dir); in ieee80211_sta_debugfs_add() [all …]
|
| A D | rx.c | 1597 sta->sta.addr, sta->sta.aid); in sta_ps_start() 1620 sta->sta.addr, sta->sta.aid); in sta_ps_end() 1631 sta->sta.addr, sta->sta.aid); in sta_ps_end() 3007 sta->sta.addr); in ieee80211_rx_mesh_data() 3293 event.u.ba.sta = &rx->sta->sta; in ieee80211_rx_h_ctrl() 4207 rx->sta = sta; in ieee80211_rx_data_set_sta() 4220 sta && !sta->sta.valid_links) in ieee80211_rx_data_set_sta() 4268 .u.ba.sta = &sta->sta, in ieee80211_release_reorder_timeout() 4547 if (sta->sta.tdls) { in ieee80211_check_fast_rx() 5011 if (unlikely(rx->sta && rx->sta->sta.mlo) && in ieee80211_prepare_and_rx_handle() [all …]
|
| A D | s1g.c | 16 sta->deflink.rx_stats.last_rate = in ieee80211_s1g_sta_rate_init() 119 drv_add_twt_setup(sdata->local, sdata, &sta->sta, twt); in ieee80211_s1g_rx_twt_setup() 130 drv_twt_teardown_request(sdata->local, sdata, &sta->sta, in ieee80211_s1g_rx_twt_teardown() 144 drv_twt_teardown_request(sdata->local, sdata, &sta->sta, flowid); in ieee80211_s1g_tx_twt_setup_fail() 155 struct sta_info *sta; in ieee80211_s1g_rx_twt_action() local 159 sta = sta_info_get_bss(sdata, mgmt->sa); in ieee80211_s1g_rx_twt_action() 160 if (!sta) in ieee80211_s1g_rx_twt_action() 180 struct sta_info *sta; in ieee80211_s1g_status_twt_action() local 184 sta = sta_info_get_bss(sdata, mgmt->da); in ieee80211_s1g_status_twt_action() 185 if (!sta) in ieee80211_s1g_status_twt_action() [all …]
|
| A D | key.c | 150 sta = key->sta; in ieee80211_key_enable_hw_accel() 160 if (sta && !sta->uploaded) in ieee80211_key_enable_hw_accel() 179 sta ? &sta->sta : NULL, &key->conf); in ieee80211_key_enable_hw_accel() 202 sta ? sta->sta.addr : bcast_addr, ret); in ieee80211_key_enable_hw_accel() 242 sta = key->sta; in ieee80211_key_disable_hw_accel() 258 sta ? &sta->sta : NULL, &key->conf); in ieee80211_key_disable_hw_accel() 264 sta ? sta->sta.addr : bcast_addr, ret); in ieee80211_key_disable_hw_accel() 338 sta->sta.addr); in ieee80211_pairwise_rekey() 921 key->sta = sta; in ieee80211_key_link() 930 if (sta && sta->sta.spp_amsdu) in ieee80211_key_link() [all …]
|
| A D | he.c | 16 struct sta_info *sta = link_sta->sta; in ieee80211_update_from_he_6ghz_capa() local 19 if (sta->sdata->vif.type == NL80211_IFTYPE_AP || in ieee80211_update_from_he_6ghz_capa() 54 ieee80211_sta_recalc_aggregates(&sta->sta); in ieee80211_update_from_he_6ghz_capa() 276 struct sta_info *sta = container_of(pub_link_sta->sta, in ieee80211_prepare_rx_omi_bw() local 277 struct sta_info, sta); in ieee80211_prepare_rx_omi_bw() 280 sdata_dereference(sta->link[pub_link_sta->link_id], sta->sdata); in ieee80211_prepare_rx_omi_bw() 283 sta->sdata); in ieee80211_prepare_rx_omi_bw() 329 struct sta_info *sta = container_of(pub_link_sta->sta, in ieee80211_finalize_rx_omi_bw() local 330 struct sta_info, sta); in ieee80211_finalize_rx_omi_bw() 333 sdata_dereference(sta->link[pub_link_sta->link_id], sta->sdata); in ieee80211_finalize_rx_omi_bw() [all …]
|
| A D | ibss.c | 554 memcpy(addr, sta->sta.addr, ETH_ALEN); in ieee80211_ibss_finish_sta() 621 sta->sta.deflink.supp_rates[band] = supp_rates | in ieee80211_ibss_add_sta() 994 sta->sta.addr, prev_rates, in ieee80211_update_sta_info() 995 sta->sta.deflink.supp_rates[band]); in ieee80211_update_sta_info() 1005 if (sta && !sta->sta.wme && in ieee80211_update_sta_info() 1008 sta->sta.wme = true; in ieee80211_update_sta_info() 1050 if (bw != sta->sta.deflink.bandwidth) in ieee80211_update_sta_info() 1060 u8 rx_nss = sta->sta.deflink.rx_nss; in ieee80211_update_sta_info() 1063 sta->sta.deflink.rx_nss = 0; in ieee80211_update_sta_info() 1065 if (sta->sta.deflink.rx_nss != rx_nss) in ieee80211_update_sta_info() [all …]
|
| A D | driver-ops.h | 48 trace_drv_sync_rx_queues(local, sta->sdata, &sta->sta); in drv_sync_rx_queues() 257 if (sta) in drv_update_tkip_key() 258 ista = &sta->sta; in drv_update_tkip_key() 544 sta, dir); in drv_sta_add_debugfs() 582 trace_drv_sta_pre_rcu_remove(local, sdata, &sta->sta); in drv_sta_pre_rcu_remove() 585 &sta->sta); in drv_sta_pre_rcu_remove() 753 trace_drv_flush_sta(local, sdata, &sta->sta); in drv_flush_sta() 755 local->ops->flush_sta(&local->hw, &sdata->vif, &sta->sta); in drv_flush_sta() 934 local->ops->release_buffered_frames(&local->hw, &sta->sta, tids, in drv_release_buffered_frames() 949 local->ops->allow_buffered_frames(&local->hw, &sta->sta, in drv_allow_buffered_frames() [all …]
|
| A D | cfg.c | 887 memcpy(mac, sta->sta.addr, ETH_ALEN); in ieee80211_dump_station() 2166 sta->sta.max_sp = params->max_sp; in sta_apply_parameters() 2177 sta->sta.aid = params->aid; in sta_apply_parameters() 2217 sta->sta.mlo = true; in sta_apply_parameters() 2270 sta->sta.tdls = true; in ieee80211_add_station() 2369 drv_sta_set_4addr(local, sta->sdata, &sta->sta, true); in ieee80211_change_station() 2373 sta->sdata->u.vlan.sta) in ieee80211_change_station() 2386 sta->sta.addr); in ieee80211_change_station() 3450 if (!sta->sta.tdls || sta->sdata != sdata || !sta->uploaded || in __ieee80211_request_smps_mgd() 4480 qos = sta->sta.wme; in ieee80211_probe_client() [all …]
|
| A D | driver-ops.c | 136 struct sta_info *sta, in drv_sta_state() argument 149 trace_drv_sta_state(local, sdata, &sta->sta, old_state, new_state); in drv_sta_state() 151 ret = local->ops->sta_state(&local->hw, &sdata->vif, &sta->sta, in drv_sta_state() 155 ret = drv_sta_add(local, sdata, &sta->sta); in drv_sta_state() 157 sta->uploaded = true; in drv_sta_state() 158 if (rcu_access_pointer(sta->sta.rates)) in drv_sta_state() 159 drv_sta_rate_tbl_update(local, sdata, &sta->sta); in drv_sta_state() 163 drv_sta_remove(local, sdata, &sta->sta); in drv_sta_state() 183 trace_drv_sta_set_txpwr(local, sdata, &sta->sta); in drv_sta_set_txpwr() 186 &sta->sta); in drv_sta_set_txpwr() [all …]
|
| A D | ethtool.c | 79 struct sta_info *sta; in ieee80211_get_stats() local 88 #define ADD_STA_STATS(sta) \ in ieee80211_get_stats() argument 93 data[i++] += (sta)->rx_stats.fragments; \ in ieee80211_get_stats() 98 data[i++] += (sta)->status_stats.filtered; \ in ieee80211_get_stats() 114 if (!(sta && !WARN_ON(sta->sdata->dev != dev))) in ieee80211_get_stats() 118 sta_set_sinfo(sta, &sinfo, false); in ieee80211_get_stats() 121 ADD_STA_STATS(&sta->deflink); in ieee80211_get_stats() 123 data[i++] = sta->sta_state; in ieee80211_get_stats() 141 if (sta->sdata->dev != dev) in ieee80211_get_stats() 145 sta_set_sinfo(sta, &sinfo, false); in ieee80211_get_stats() [all …]
|
| /net/mac80211/tests/ |
| A D | mfp.c | 45 .sta = true, 54 .sta = true, 63 .sta = true, 73 .sta = true, 100 .sta = true, 109 .sta = true, 118 .sta = true, 128 .sta = true, 139 .sta = true, 217 .sta = params->sta ? &sta : NULL, in accept_mfp() [all …]
|