Lines Matching defs:sta

214 	struct sta_info *sta;
224 RCU_INIT_POINTER(sdata->u.vlan.sta, NULL);
240 sta = sta_info_get(sdata, sdata->deflink.u.mgd.bssid);
241 if (sta)
242 drv_sta_set_4addr(local, sdata, &sta->sta,
440 struct sta_info *sta;
447 sta = sta_info_get_bss(sdata, mac_addr);
449 if (!sta)
452 if (sta->ptk_idx == key_idx)
455 key = wiphy_dereference(local->hw.wiphy, sta->ptk[key_idx]);
471 struct sta_info *sta = NULL;
514 sta = sta_info_get_bss(sdata, mac_addr);
525 if (!sta || !test_sta_flag(sta, WLAN_STA_ASSOC)) {
539 if (sta && test_sta_flag(sta, WLAN_STA_MFP))
565 err = ieee80211_key_link(key, link, sta);
588 struct sta_info *sta;
591 sta = sta_info_get_bss(sdata, mac_addr);
592 if (!sta)
596 link_sta = rcu_dereference_check(sta->link[link_id],
601 link_sta = &sta->deflink;
606 sta->ptk[key_idx]);
805 void sta_set_rate_info_tx(struct sta_info *sta,
820 sband = ieee80211_get_sband(sta->sdata);
842 struct sta_info *sta;
847 sta = sta_info_get_by_idx(sdata, idx);
848 if (sta) {
850 memcpy(mac, sta->sta.addr, ETH_ALEN);
851 sta_set_sinfo(sta, sinfo, true);
870 struct sta_info *sta;
875 sta = sta_info_get_bss(sdata, mac);
876 if (sta) {
878 sta_set_sinfo(sta, sinfo, true);
1688 struct sta_info *sta,
1695 !test_sta_flag(sta, WLAN_STA_AUTH)) {
1696 ret = sta_info_move_state(sta, IEEE80211_STA_AUTH);
1703 !test_sta_flag(sta, WLAN_STA_ASSOC)) {
1709 if (!test_sta_flag(sta, WLAN_STA_RATE_CONTROL))
1710 rate_control_rate_init(sta);
1712 ret = sta_info_move_state(sta, IEEE80211_STA_ASSOC);
1719 ret = sta_info_move_state(sta, IEEE80211_STA_AUTHORIZED);
1720 else if (test_sta_flag(sta, WLAN_STA_AUTHORIZED))
1721 ret = sta_info_move_state(sta, IEEE80211_STA_ASSOC);
1730 test_sta_flag(sta, WLAN_STA_ASSOC)) {
1731 ret = sta_info_move_state(sta, IEEE80211_STA_AUTH);
1738 test_sta_flag(sta, WLAN_STA_AUTH)) {
1739 ret = sta_info_move_state(sta, IEEE80211_STA_NONE);
1748 struct sta_info *sta,
1752 struct ieee80211_sub_if_data *sdata = sta->sdata;
1758 if (sta->mesh->plink_state != NL80211_PLINK_ESTAB)
1760 sta->mesh->plink_state = params->plink_state;
1761 sta->mesh->aid = params->peer_aid;
1763 ieee80211_mps_sta_status_update(sta);
1764 changed |= ieee80211_mps_set_sta_local_pm(sta,
1767 ewma_mesh_tx_rate_avg_init(&sta->mesh->tx_rate_avg);
1769 ewma_mesh_tx_rate_avg_add(&sta->mesh->tx_rate_avg, 10);
1778 if (sta->mesh->plink_state == NL80211_PLINK_ESTAB)
1780 sta->mesh->plink_state = params->plink_state;
1782 ieee80211_mps_sta_status_update(sta);
1783 changed |= ieee80211_mps_set_sta_local_pm(sta,
1797 changed |= mesh_plink_open(sta);
1800 changed |= mesh_plink_block(sta);
1805 changed |= ieee80211_mps_set_sta_local_pm(sta,
1813 struct sta_info *sta, bool new_link,
1818 struct ieee80211_sub_if_data *sdata = sta->sdata;
1823 rcu_dereference_protected(sta->link[link_id],
1861 ret = drv_sta_set_txpwr(local, sdata, sta);
1914 struct sta_info *sta,
1917 struct ieee80211_sub_if_data *sdata = sta->sdata;
1933 } else if (test_sta_flag(sta, WLAN_STA_TDLS_PEER)) {
1949 sta->sta.wme = set & BIT(NL80211_STA_FLAG_WME);
1953 if (!test_sta_flag(sta, WLAN_STA_TDLS_PEER) &&
1956 ret = sta_apply_auth_flags(local, sta, mask, set);
1963 set_sta_flag(sta, WLAN_STA_SHORT_PREAMBLE);
1965 clear_sta_flag(sta, WLAN_STA_SHORT_PREAMBLE);
1969 sta->sta.mfp = !!(set & BIT(NL80211_STA_FLAG_MFP));
1971 set_sta_flag(sta, WLAN_STA_MFP);
1973 clear_sta_flag(sta, WLAN_STA_MFP);
1978 set_sta_flag(sta, WLAN_STA_TDLS_PEER);
1980 clear_sta_flag(sta, WLAN_STA_TDLS_PEER);
1984 sta->sta.spp_amsdu = set & BIT(NL80211_STA_FLAG_SPP_AMSDU);
1987 if (test_sta_flag(sta, WLAN_STA_TDLS_PEER) &&
1991 set_sta_flag(sta, WLAN_STA_TDLS_CHAN_SWITCH);
1993 if (test_sta_flag(sta, WLAN_STA_TDLS_PEER) &&
1998 set_sta_flag(sta, WLAN_STA_TDLS_WIDER_BW);
2001 sta->sta.uapsd_queues = params->uapsd_queues;
2002 sta->sta.max_sp = params->max_sp;
2005 ieee80211_sta_set_max_amsdu_subframes(sta, params->ext_capab,
2013 sta->sta.aid = params->aid;
2024 sta->listen_interval = params->listen_interval;
2026 ret = sta_link_apply_parameters(local, sta, false,
2032 sta->sta.support_p2p_ps = params->support_p2p_ps;
2035 sta_apply_mesh_params(local, sta, params);
2038 sta->airtime_weight = params->airtime_weight;
2040 /* set the STA state after all sta info from usermode has been set */
2041 if (test_sta_flag(sta, WLAN_STA_TDLS_PEER) ||
2043 ret = sta_apply_auth_flags(local, sta, mask, set);
2050 sta->sta.mlo = true;
2060 struct sta_info *sta;
2092 sta = sta_info_alloc_with_link(sdata, mac,
2097 sta = sta_info_alloc(sdata, mac, GFP_KERNEL);
2099 if (!sta)
2103 sta->sta.tdls = true;
2109 err = sta_apply_parameters(local, sta, params);
2111 sta_info_free(local, sta);
2120 if (!test_sta_flag(sta, WLAN_STA_TDLS_PEER) &&
2121 test_sta_flag(sta, WLAN_STA_ASSOC))
2122 rate_control_rate_init(sta);
2124 return sta_info_insert(sta);
2147 struct sta_info *sta;
2154 sta = sta_info_get_bss(sdata, mac);
2155 if (!sta)
2169 if (!test_sta_flag(sta, WLAN_STA_TDLS_PEER)) {
2173 if (test_sta_flag(sta, WLAN_STA_AUTHORIZED))
2180 if (test_sta_flag(sta, WLAN_STA_ASSOC))
2193 if (params->vlan && params->vlan != sta->sdata->dev) {
2197 if (vlansdata->u.vlan.sta)
2200 rcu_assign_pointer(vlansdata->u.vlan.sta, sta);
2202 drv_sta_set_4addr(local, sta->sdata, &sta->sta, true);
2205 if (sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN &&
2206 sta->sdata->u.vlan.sta)
2207 RCU_INIT_POINTER(sta->sdata->u.vlan.sta, NULL);
2209 if (test_sta_flag(sta, WLAN_STA_AUTHORIZED))
2210 ieee80211_vif_dec_num_mcast(sta->sdata);
2212 sta->sdata = vlansdata;
2213 ieee80211_check_fast_rx(sta);
2214 ieee80211_check_fast_xmit(sta);
2216 if (test_sta_flag(sta, WLAN_STA_AUTHORIZED)) {
2217 ieee80211_vif_inc_num_mcast(sta->sdata);
2218 cfg80211_send_layer2_update(sta->sdata->dev,
2219 sta->sta.addr);
2223 err = sta_apply_parameters(local, sta, params);
2242 struct sta_info *sta;
2247 sta = sta_info_get(sdata, next_hop);
2248 if (!sta) {
2259 mesh_path_fix_nexthop(mpath, sta);
2282 struct sta_info *sta;
2288 sta = sta_info_get(sdata, next_hop);
2289 if (!sta) {
2300 mesh_path_fix_nexthop(mpath, sta);
2312 memcpy(next_hop, next_hop_sta->sta.addr, ETH_ALEN);
3187 struct sta_info *sta;
3223 list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) {
3224 if (!sta->sta.tdls || sta->sdata != sdata || !sta->uploaded ||
3225 !test_sta_flag(sta, WLAN_STA_AUTHORIZED))
4187 struct sta_info *sta;
4196 sta = sta_info_get_bss(sdata, peer);
4197 if (!sta) {
4202 qos = sta->sta.wme;
4235 memcpy(nullfunc->addr1, sta->sta.addr, ETH_ALEN);
4258 ieee80211_xmit(sdata, sta, skb);
4618 struct sta_info *sta;
4628 sta = sta_info_get_bss(sdata, tid_conf->peer);
4629 if (!sta)
4632 return drv_set_tid_config(sdata->local, sdata, &sta->sta, tid_conf);
4640 struct sta_info *sta;
4650 sta = sta_info_get_bss(sdata, peer);
4651 if (!sta)
4654 return drv_reset_tid_config(sdata->local, sdata, &sta->sta, tids);
4985 struct sta_info *sta;
4988 sta = sta_info_get_bss(sdata, params->mld_mac);
4989 if (!sta)
4992 if (!sta->sta.valid_links)
4995 if (sta->sta.valid_links & BIT(params->link_id))
4998 ret = ieee80211_sta_allocate_link(sta, params->link_id);
5002 ret = sta_link_apply_parameters(local, sta, true, params);
5004 ieee80211_sta_free_link(sta, params->link_id);
5009 return ieee80211_sta_activate_link(sta, params->link_id);
5028 struct sta_info *sta;
5030 sta = sta_info_get_bss(sdata, params->mld_mac);
5031 if (!sta)
5034 if (!(sta->sta.valid_links & BIT(params->link_id)))
5037 return sta_link_apply_parameters(local, sta, false, params);
5055 struct sta_info *sta;
5057 sta = sta_info_get_bss(sdata, params->mld_mac);
5058 if (!sta)
5061 if (!(sta->sta.valid_links & BIT(params->link_id)))
5065 if (sta->sta.valid_links == BIT(params->link_id))
5068 ieee80211_sta_remove_link(sta, params->link_id);