Lines Matching defs:sta

220 					   struct sta_info *sta,
234 if (sta)
235 sta->deflink.rx_stats.packets++;
240 struct sta_info *sta,
244 __ieee80211_queue_skb_to_iface(sdata, link_id, sta, skb);
1056 if (!rx->sta || sta_plink_state(rx->sta) != NL80211_PLINK_ESTAB) {
1351 struct sta_info *sta = rx->sta;
1365 if (!sta)
1372 tid_agg_rx = rcu_dereference(sta->ampdu_mlme.tid_rx[tid]);
1375 !test_bit(tid, rx->sta->ampdu_mlme.agg_session_valid) &&
1376 !test_and_set_bit(tid, rx->sta->ampdu_mlme.unexpected_agg))
1377 ieee80211_send_delba(rx->sdata, rx->sta->sta.addr, tid,
1440 if (!rx->sta)
1463 rx->sta->last_seq_ctrl[rx->seqno_idx] == hdr->seq_ctrl)) {
1468 rx->sta->last_seq_ctrl[rx->seqno_idx] = hdr->seq_ctrl;
1495 (!rx->sta || !test_sta_flag(rx->sta, WLAN_STA_ASSOC)))) {
1501 if (rx->sta && rx->sdata->vif.type == NL80211_IFTYPE_STATION &&
1562 static void sta_ps_start(struct sta_info *sta)
1564 struct ieee80211_sub_if_data *sdata = sta->sdata;
1569 if (sta->sdata->vif.type == NL80211_IFTYPE_AP ||
1570 sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
1576 set_sta_flag(sta, WLAN_STA_PS_STA);
1578 drv_sta_notify(local, sdata, STA_NOTIFY_SLEEP, &sta->sta);
1580 sta->sta.addr, sta->sta.aid);
1582 ieee80211_clear_fast_xmit(sta);
1585 struct ieee80211_txq *txq = sta->sta.txq[tid];
1594 set_bit(tid, &sta->txq_buffered_tids);
1596 clear_bit(tid, &sta->txq_buffered_tids);
1600 static void sta_ps_end(struct sta_info *sta)
1602 ps_dbg(sta->sdata, "STA %pM aid %d exits power save mode\n",
1603 sta->sta.addr, sta->sta.aid);
1605 if (test_sta_flag(sta, WLAN_STA_PS_DRIVER)) {
1612 clear_sta_flag(sta, WLAN_STA_PS_STA);
1613 ps_dbg(sta->sdata, "STA %pM aid %d driver-ps-blocked\n",
1614 sta->sta.addr, sta->sta.aid);
1618 set_sta_flag(sta, WLAN_STA_PS_DELIVER);
1619 clear_sta_flag(sta, WLAN_STA_PS_STA);
1620 ieee80211_sta_ps_deliver_wakeup(sta);
1625 struct sta_info *sta = container_of(pubsta, struct sta_info, sta);
1628 WARN_ON(!ieee80211_hw_check(&sta->local->hw, AP_LINK_PS));
1631 in_ps = test_sta_flag(sta, WLAN_STA_PS_STA);
1636 sta_ps_start(sta);
1638 sta_ps_end(sta);
1646 struct sta_info *sta = container_of(pubsta, struct sta_info, sta);
1648 if (test_sta_flag(sta, WLAN_STA_SP))
1651 if (!test_sta_flag(sta, WLAN_STA_PS_DRIVER))
1652 ieee80211_sta_ps_deliver_poll_response(sta);
1654 set_sta_flag(sta, WLAN_STA_PSPOLL);
1660 struct sta_info *sta = container_of(pubsta, struct sta_info, sta);
1671 if (!(sta->sta.uapsd_queues & ieee80211_ac_to_qos_mask[ac]) &&
1676 if (test_sta_flag(sta, WLAN_STA_SP))
1679 if (!test_sta_flag(sta, WLAN_STA_PS_DRIVER))
1680 ieee80211_sta_ps_deliver_uapsd(sta);
1682 set_sta_flag(sta, WLAN_STA_UAPSD);
1693 if (!rx->sta)
1713 if (!test_sta_flag(rx->sta, WLAN_STA_PS_STA))
1717 ieee80211_sta_pspoll(&rx->sta->sta);
1731 ieee80211_sta_uapsd_trigger(&rx->sta->sta, tid);
1740 struct sta_info *sta = rx->sta;
1747 if (!sta || !link_sta)
1762 test_sta_flag(sta, WLAN_STA_AUTHORIZED)) {
1816 if (!ieee80211_hw_check(&sta->local->hw, AP_LINK_PS) &&
1824 if (test_sta_flag(sta, WLAN_STA_PS_STA)) {
1826 sta_ps_end(sta);
1829 sta_ps_start(sta);
1835 ieee80211_mps_rx_h_sta_process(sta, hdr);
1853 !rx->sdata->u.vlan.sta))) {
1854 if (!test_and_set_sta_flag(sta, WLAN_STA_4ADDR_EVENT))
1856 rx->sdata->dev, sta->sta.addr,
1954 if (rx->sta) {
1955 int keyid = rx->sta->ptk_idx;
1956 sta_ptk = rcu_dereference(rx->sta->ptk[keyid]);
1965 ptk_idx = rcu_dereference(rx->sta->ptk[keyid]);
2010 test_sta_flag(rx->sta, WLAN_STA_MFP))
2267 if (rx->sta)
2268 cache = &rx->sta->frags;
2401 if (rx->sta)
2408 if (unlikely(!rx->sta || !test_sta_flag(rx->sta, WLAN_STA_AUTHORIZED)))
2454 if (rx->sta && test_sta_flag(rx->sta, WLAN_STA_MFP)) {
2509 (!rx->sta || !test_sta_flag(rx->sta, WLAN_STA_ASSOC)))
2527 sdata->vif.type == NL80211_IFTYPE_AP_VLAN && !sdata->u.vlan.sta)
2539 sdata->vif.type == NL80211_IFTYPE_AP_VLAN && sdata->u.vlan.sta)
2673 if (rx->sta) {
2688 (sdata->vif.type != NL80211_IFTYPE_AP_VLAN || !sdata->u.vlan.sta)) {
2772 struct sta_info *sta;
2788 sta = rcu_dereference(entry->mpath->next_hop);
2789 if (!sta)
2796 tid_tx = rcu_dereference(sta->ampdu_mlme.tid_tx[tid]);
2805 ieee80211_aggr_check(sdata, sta, skb);
2817 __ieee80211_xmit_fast(sdata, sta, &entry->fast_tx, skb, tid_tx,
2827 ieee80211_rx_mesh_data(struct ieee80211_sub_if_data *sdata, struct sta_info *sta,
2986 if (sta)
2990 sta->sta.addr);
3030 if (!rx->sta ||
3031 !test_sta_flag(rx->sta, WLAN_STA_TDLS_PEER))
3051 if (rx->sta->amsdu_mesh_control < 0) {
3068 rx->sta->amsdu_mesh_control = valid;
3075 rx->sta->amsdu_mesh_control);
3080 res = ieee80211_rx_mesh_data(rx->sdata, rx->sta, rx->skb);
3123 if (!rx->sdata->u.vlan.sta)
3137 if (is_multicast_ether_addr(hdr->addr1) || !rx->sta)
3183 if (rx->sta &&
3184 !test_and_set_sta_flag(rx->sta, WLAN_STA_4ADDR_EVENT))
3186 rx->sdata->dev, rx->sta->sta.addr, GFP_ATOMIC);
3194 res = ieee80211_rx_mesh_data(rx->sdata, rx->sta, rx->skb);
3214 rx->sta, rx->skb);
3263 if (!rx->sta)
3272 if (!test_bit(tid, rx->sta->ampdu_mlme.agg_session_valid) &&
3273 !test_and_set_bit(tid, rx->sta->ampdu_mlme.unexpected_agg))
3274 ieee80211_send_delba(rx->sdata, rx->sta->sta.addr, tid,
3278 tid_agg_rx = rcu_dereference(rx->sta->ampdu_mlme.tid_rx[tid]);
3285 event.u.ba.sta = &rx->sta->sta;
3464 if (!rx->sta)
3512 if (!rx->sta && mgmt->u.action.category != WLAN_CATEGORY_PUBLIC &&
3569 rate_control_rate_update(local, sband, rx->sta, 0,
3572 rx->sta->addr,
3593 /* set cur_max_bandwidth and recalc sta bw */
3606 rate_control_rate_update(local, sband, rx->sta, 0,
3609 rx->sta->addr,
3624 if (!rx->sta)
3826 if (rx->sta)
3832 ieee80211_queue_skb_to_iface(sdata, rx->link_id, rx->sta, rx->skb);
3870 if (rx->sta)
3908 if (rx->sta)
3990 ieee80211_queue_skb_to_iface(sdata, rx->link_id, rx->sta, rx->skb);
4047 ieee80211_queue_skb_to_iface(sdata, rx->link_id, rx->sta, rx->skb);
4135 if (rx->sta)
4245 ieee80211_rx_is_valid_sta_link_id(struct ieee80211_sta *sta, u8 link_id)
4247 return !!(sta->valid_links & BIT(link_id));
4256 if (!rx->sta)
4259 if (!ieee80211_rx_is_valid_sta_link_id(&rx->sta->sta, link_id))
4262 rx->link_sta = rcu_dereference(rx->sta->link[link_id]);
4268 struct sta_info *sta, int link_id)
4271 rx->sta = sta;
4273 if (sta) {
4274 rx->local = sta->sdata->local;
4276 rx->sdata = sta->sdata;
4277 rx->link_sta = &sta->deflink;
4294 void ieee80211_release_reorder_timeout(struct sta_info *sta, int tid)
4306 if (sta->sta.valid_links)
4307 link_id = ffs(sta->sta.valid_links) - 1;
4309 if (!ieee80211_rx_data_set_sta(&rx, sta, link_id))
4312 tid_agg_rx = rcu_dereference(sta->ampdu_mlme.tid_rx[tid]);
4319 ieee80211_sta_reorder_release(sta->sdata, tid_agg_rx, &frames);
4326 .u.ba.sta = &sta->sta,
4339 struct sta_info *sta;
4354 sta = container_of(pubsta, struct sta_info, sta);
4356 local = sta->sdata->local;
4361 if (!ieee80211_rx_data_set_sta(&rx, sta, -1))
4365 tid_agg_rx = rcu_dereference(sta->ampdu_mlme.tid_rx[tid]);
4377 ieee80211_release_reorder_frames(sta->sdata, tid_agg_rx,
4382 ieee80211_release_reorder_frames(sta->sdata, tid_agg_rx, ssn,
4406 ieee80211_sta_reorder_release(sta->sdata, tid_agg_rx, &frames);
4441 ieee80211_is_robust_mgmt_frame(skb) && !rx->sta)
4460 if (!rx->sta) {
4480 if (!rx->sta) {
4567 void ieee80211_check_fast_rx(struct sta_info *sta)
4569 struct ieee80211_sub_if_data *sdata = sta->sdata;
4599 if (sta->sta.tdls) {
4610 if (sdata->u.mgd.use_4addr && !sta->sta.tdls) {
4641 !sdata->u.vlan.sta);
4644 sdata->u.vlan.sta) {
4662 if (!test_sta_flag(sta, WLAN_STA_AUTHORIZED))
4666 key = rcu_dereference(sta->ptk[sta->ptk_idx]);
4703 set_offload = !test_and_set_sta_flag(sta, WLAN_STA_DECAP_OFFLOAD);
4705 set_offload = test_and_clear_sta_flag(sta, WLAN_STA_DECAP_OFFLOAD);
4708 drv_sta_set_decap_offload(local, sdata, &sta->sta, assign);
4710 spin_lock_bh(&sta->lock);
4711 old = rcu_dereference_protected(sta->fast_rx, true);
4712 rcu_assign_pointer(sta->fast_rx, new);
4713 spin_unlock_bh(&sta->lock);
4719 void ieee80211_clear_fast_rx(struct sta_info *sta)
4723 spin_lock_bh(&sta->lock);
4724 old = rcu_dereference_protected(sta->fast_rx, true);
4725 RCU_INIT_POINTER(sta->fast_rx, NULL);
4726 spin_unlock_bh(&sta->lock);
4735 struct sta_info *sta;
4739 list_for_each_entry(sta, &local->sta_list, list) {
4740 if (sdata != sta->sdata &&
4741 (!sta->sdata->bss || sta->sdata->bss != sdata->bss))
4743 ieee80211_check_fast_rx(sta);
4762 struct sta_info *sta = rx->sta;
4769 link_sta = rcu_dereference(sta->link[rx->link_id]);
4775 link_sta = &sta->deflink;
4981 res = ieee80211_rx_mesh_data(rx->sdata, rx->sta, rx->skb);
5030 if (consume && rx->sta) {
5033 fast_rx = rcu_dereference(rx->sta->fast_rx);
5063 if (unlikely(rx->sta && rx->sta->sta.mlo) &&
5071 ether_addr_copy(hdr->addr2, rx->sta->addr);
5076 ether_addr_copy(hdr->addr3, rx->sta->addr);
5096 struct sta_info *sta;
5124 sta = container_of(pubsta, struct sta_info, sta);
5125 if (!ieee80211_rx_data_set_sta(&rx, sta, link_id))
5128 fast_rx = rcu_dereference(rx.sta->fast_rx);
5144 struct sta_info *sta;
5155 sta = link_sta->sta;
5160 sta = sta_info_get_bss(rx->sdata, hdr->addr2);
5165 if (!ieee80211_rx_data_set_sta(rx, sta, link_id))
5225 struct sta_info *sta, *prev_sta;
5232 sta = container_of(pubsta, struct sta_info, sta);
5233 if (!ieee80211_rx_data_set_sta(&rx, sta, link_id))
5262 for_each_sta_info(local, hdr->addr2, sta, tmp) {
5264 prev_sta = sta;
5272 if (!status->link_valid && prev_sta->sta.mlo)
5277 prev_sta = sta;
5285 if (!status->link_valid && prev_sta->sta.mlo)