• Home
  • Raw
  • Download

Lines Matching refs:sta

328 	if (tx->sta)  in ieee80211_tx_h_check_assoc()
329 assoc = test_sta_flag(tx->sta, WLAN_STA_ASSOC); in ieee80211_tx_h_check_assoc()
363 struct sta_info *sta; in purge_old_ps_buffers() local
387 list_for_each_entry_rcu(sta, &local->sta_list, list) { in purge_old_ps_buffers()
391 skb = skb_dequeue(&sta->ps_tx_buf[ac]); in purge_old_ps_buffers()
392 total += skb_queue_len(&sta->ps_tx_buf[ac]); in purge_old_ps_buffers()
470 static int ieee80211_use_mfp(__le16 fc, struct sta_info *sta, in ieee80211_use_mfp() argument
476 if (sta == NULL || !test_sta_flag(sta, WLAN_STA_MFP)) in ieee80211_use_mfp()
488 struct sta_info *sta = tx->sta; in ieee80211_tx_h_unicast_ps_buf() local
493 if (unlikely(!sta)) in ieee80211_tx_h_unicast_ps_buf()
496 if (unlikely((test_sta_flag(sta, WLAN_STA_PS_STA) || in ieee80211_tx_h_unicast_ps_buf()
497 test_sta_flag(sta, WLAN_STA_PS_DRIVER) || in ieee80211_tx_h_unicast_ps_buf()
498 test_sta_flag(sta, WLAN_STA_PS_DELIVER)) && in ieee80211_tx_h_unicast_ps_buf()
508 ps_dbg(sta->sdata, "STA %pM aid %d: PS buffer for AC %d\n", in ieee80211_tx_h_unicast_ps_buf()
509 sta->sta.addr, sta->sta.aid, ac); in ieee80211_tx_h_unicast_ps_buf()
514 spin_lock(&sta->ps_lock); in ieee80211_tx_h_unicast_ps_buf()
520 if (!test_sta_flag(sta, WLAN_STA_PS_STA) && in ieee80211_tx_h_unicast_ps_buf()
521 !test_sta_flag(sta, WLAN_STA_PS_DRIVER) && in ieee80211_tx_h_unicast_ps_buf()
522 !test_sta_flag(sta, WLAN_STA_PS_DELIVER)) { in ieee80211_tx_h_unicast_ps_buf()
523 spin_unlock(&sta->ps_lock); in ieee80211_tx_h_unicast_ps_buf()
527 if (skb_queue_len(&sta->ps_tx_buf[ac]) >= STA_MAX_TX_BUFFER) { in ieee80211_tx_h_unicast_ps_buf()
528 struct sk_buff *old = skb_dequeue(&sta->ps_tx_buf[ac]); in ieee80211_tx_h_unicast_ps_buf()
531 sta->sta.addr, ac); in ieee80211_tx_h_unicast_ps_buf()
540 skb_queue_tail(&sta->ps_tx_buf[ac], tx->skb); in ieee80211_tx_h_unicast_ps_buf()
541 spin_unlock(&sta->ps_lock); in ieee80211_tx_h_unicast_ps_buf()
552 sta_info_recalc_tim(sta); in ieee80211_tx_h_unicast_ps_buf()
555 } else if (unlikely(test_sta_flag(sta, WLAN_STA_PS_STA))) { in ieee80211_tx_h_unicast_ps_buf()
558 sta->sta.addr); in ieee80211_tx_h_unicast_ps_buf()
603 if (tx->sta && in ieee80211_tx_h_select_key()
604 (key = rcu_dereference(tx->sta->ptk[tx->sta->ptk_idx]))) in ieee80211_tx_h_select_key()
640 !ieee80211_use_mfp(hdr->frame_control, tx->sta, in ieee80211_tx_h_select_key()
665 } else if (ieee80211_is_data_present(hdr->frame_control) && tx->sta && in ieee80211_tx_h_select_key()
666 test_sta_flag(tx->sta, WLAN_STA_USES_ENCRYPTION)) { in ieee80211_tx_h_select_key()
724 (tx->sta && test_sta_flag(tx->sta, WLAN_STA_SHORT_PREAMBLE)))) in ieee80211_tx_h_rate_ctrl()
733 if (tx->sta) in ieee80211_tx_h_rate_ctrl()
734 assoc = test_sta_flag(tx->sta, WLAN_STA_ASSOC); in ieee80211_tx_h_rate_ctrl()
741 !rate_usable_index_exists(sband, &tx->sta->sta), in ieee80211_tx_h_rate_ctrl()
753 rate_control_get_rate(tx->sdata, tx->sta, &txrc); in ieee80211_tx_h_rate_ctrl()
755 if (tx->sta && !info->control.skip_table) in ieee80211_tx_h_rate_ctrl()
756 ratetbl = rcu_dereference(tx->sta->sta.rates); in ieee80211_tx_h_rate_ctrl()
779 if (tx->sta && ieee80211_is_data(hdr->frame_control)) in ieee80211_tx_h_rate_ctrl()
780 tx->sta->tx_stats.last_rate = txrc.reported_rate; in ieee80211_tx_h_rate_ctrl()
781 } else if (tx->sta) in ieee80211_tx_h_rate_ctrl()
782 tx->sta->tx_stats.last_rate = txrc.reported_rate; in ieee80211_tx_h_rate_ctrl()
797 static __le16 ieee80211_tx_next_seq(struct sta_info *sta, int tid) in ieee80211_tx_next_seq() argument
799 u16 *seq = &sta->tid_seq[tid]; in ieee80211_tx_next_seq()
848 if (tx->sta) in ieee80211_tx_h_sequence()
849 tx->sta->tx_stats.msdu[IEEE80211_NUM_TIDS]++; in ieee80211_tx_h_sequence()
858 if (!tx->sta) in ieee80211_tx_h_sequence()
863 tx->sta->tx_stats.msdu[tid]++; in ieee80211_tx_h_sequence()
865 hdr->seq_ctrl = ieee80211_tx_next_seq(tx->sta, tid); in ieee80211_tx_h_sequence()
1011 if (!tx->sta) in ieee80211_tx_h_stats()
1016 tx->sta->tx_stats.bytes[ac] += skb->len; in ieee80211_tx_h_stats()
1019 tx->sta->tx_stats.packets[ac]++; in ieee80211_tx_h_stats()
1105 } else if (!tx->sta->sta.txq[tid]) { in ieee80211_tx_prep_agg()
1106 spin_lock(&tx->sta->lock); in ieee80211_tx_prep_agg()
1125 tid_tx = rcu_dereference_protected_tid_tx(tx->sta, tid); in ieee80211_tx_prep_agg()
1135 clear_sta_flag(tx->sta, WLAN_STA_SP); in ieee80211_tx_prep_agg()
1136 ps_dbg(tx->sta->sdata, in ieee80211_tx_prep_agg()
1138 tx->sta->sta.addr, tx->sta->sta.aid); in ieee80211_tx_prep_agg()
1147 spin_unlock(&tx->sta->lock); in ieee80211_tx_prep_agg()
1168 struct sta_info *sta, struct sk_buff *skb) in ieee80211_tx_prepare() argument
1190 if (likely(sta)) { in ieee80211_tx_prepare()
1191 if (!IS_ERR(sta)) in ieee80211_tx_prepare()
1192 tx->sta = sta; in ieee80211_tx_prepare()
1195 tx->sta = rcu_dereference(sdata->u.vlan.sta); in ieee80211_tx_prepare()
1196 if (!tx->sta && sdata->wdev.use_4addr) in ieee80211_tx_prepare()
1201 tx->sta = sta_info_get_bss(sdata, hdr->addr1); in ieee80211_tx_prepare()
1203 if (!tx->sta && !is_multicast_ether_addr(hdr->addr1)) in ieee80211_tx_prepare()
1204 tx->sta = sta_info_get(sdata, hdr->addr1); in ieee80211_tx_prepare()
1207 if (tx->sta && ieee80211_is_data_qos(hdr->frame_control) && in ieee80211_tx_prepare()
1215 tid_tx = rcu_dereference(tx->sta->ampdu_mlme.tid_tx[tid]); in ieee80211_tx_prepare()
1240 if (!tx->sta) in ieee80211_tx_prepare()
1242 else if (test_and_clear_sta_flag(tx->sta, WLAN_STA_CLEAR_PS_FILT)) { in ieee80211_tx_prepare()
1244 ieee80211_check_fast_xmit(tx->sta); in ieee80211_tx_prepare()
1254 struct sta_info *sta, in ieee80211_get_txq() argument
1270 sta && sta->uploaded) { in ieee80211_get_txq()
1275 txq = sta->sta.txq[IEEE80211_NUM_TIDS]; in ieee80211_get_txq()
1277 } else if (sta) { in ieee80211_get_txq()
1280 if (!sta->uploaded) in ieee80211_get_txq()
1283 txq = sta->sta.txq[tid]; in ieee80211_get_txq()
1360 if (txqi->txq.sta) { in fq_tin_dequeue_func()
1361 struct sta_info *sta = container_of(txqi->txq.sta, in fq_tin_dequeue_func() local
1362 struct sta_info, sta); in fq_tin_dequeue_func()
1363 cparams = &sta->cparams; in fq_tin_dequeue_func()
1458 struct sta_info *sta, in ieee80211_txq_init() argument
1470 if (!sta) { in ieee80211_txq_init()
1494 txqi->txq.sta = &sta->sta; in ieee80211_txq_init()
1496 sta->sta.txq[tid] = &txqi->txq; in ieee80211_txq_init()
1604 struct sta_info *sta, in ieee80211_queue_skb() argument
1619 txqi = ieee80211_get_txq(local, vif, sta, skb); in ieee80211_queue_skb()
1633 struct sta_info *sta, in ieee80211_tx_frags() argument
1695 control.sta = sta ? &sta->sta : NULL; in ieee80211_tx_frags()
1709 struct sta_info *sta, bool txpending) in __ieee80211_tx() argument
1725 if (sta && !sta->uploaded) in __ieee80211_tx()
1726 sta = NULL; in __ieee80211_tx()
1754 result = ieee80211_tx_frags(local, vif, sta, skbs, txpending); in __ieee80211_tx()
1858 int band, struct ieee80211_sta **sta) in ieee80211_tx_prepare_skb() argument
1875 if (sta) { in ieee80211_tx_prepare_skb()
1876 if (tx.sta) in ieee80211_tx_prepare_skb()
1877 *sta = &tx.sta->sta; in ieee80211_tx_prepare_skb()
1879 *sta = NULL; in ieee80211_tx_prepare_skb()
1898 struct sta_info *sta, struct sk_buff *skb, in ieee80211_tx() argument
1915 res_prepare = ieee80211_tx_prepare(sdata, &tx, sta, skb); in ieee80211_tx()
1933 if (ieee80211_queue_skb(local, sdata, tx.sta, tx.skb)) in ieee80211_tx()
1938 tx.sta, txpending); in ieee80211_tx()
1989 struct sta_info *sta, struct sk_buff *skb) in ieee80211_xmit() argument
2030 ieee80211_tx(sdata, sta, skb, false); in ieee80211_xmit()
2408 struct sta_info *sta; in ieee80211_lookup_ra_sta() local
2412 sta = rcu_dereference(sdata->u.vlan.sta); in ieee80211_lookup_ra_sta()
2413 if (sta) { in ieee80211_lookup_ra_sta()
2414 *sta_out = sta; in ieee80211_lookup_ra_sta()
2427 sta = sta_info_get_bss(sdata, skb->data); in ieee80211_lookup_ra_sta()
2430 sta = sta_info_get(sdata, sdata->u.wds.remote_addr); in ieee80211_lookup_ra_sta()
2440 sta = sta_info_get(sdata, skb->data); in ieee80211_lookup_ra_sta()
2441 if (sta && test_sta_flag(sta, WLAN_STA_TDLS_PEER)) { in ieee80211_lookup_ra_sta()
2442 if (test_sta_flag(sta, in ieee80211_lookup_ra_sta()
2444 *sta_out = sta; in ieee80211_lookup_ra_sta()
2461 sta = sta_info_get(sdata, sdata->u.mgd.bssid); in ieee80211_lookup_ra_sta()
2462 if (!sta) in ieee80211_lookup_ra_sta()
2469 *sta_out = sta ?: ERR_PTR(-ENOENT); in ieee80211_lookup_ra_sta()
2533 struct sta_info *sta, u32 ctrl_flags, in ieee80211_build_hdr() argument
2555 if (IS_ERR(sta)) in ieee80211_build_hdr()
2556 sta = NULL; in ieee80211_build_hdr()
2573 memcpy(hdr.addr1, sta->sta.addr, ETH_ALEN); in ieee80211_build_hdr()
2578 authorized = test_sta_flag(sta, WLAN_STA_AUTHORIZED); in ieee80211_build_hdr()
2579 wme_sta = sta->sta.wme; in ieee80211_build_hdr()
2704 tdls_peer = test_sta_flag(sta, WLAN_STA_TDLS_PEER); in ieee80211_build_hdr()
2771 if (sta) { in ieee80211_build_hdr()
2772 authorized = test_sta_flag(sta, WLAN_STA_AUTHORIZED); in ieee80211_build_hdr()
2773 wme_sta = sta->sta.wme; in ieee80211_build_hdr()
2931 void ieee80211_check_fast_xmit(struct sta_info *sta) in ieee80211_check_fast_xmit() argument
2934 struct ieee80211_local *local = sta->local; in ieee80211_check_fast_xmit()
2935 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_check_fast_xmit()
2955 spin_lock_bh(&sta->lock); in ieee80211_check_fast_xmit()
2961 if (!test_sta_flag(sta, WLAN_STA_AUTHORIZED)) in ieee80211_check_fast_xmit()
2964 if (test_sta_flag(sta, WLAN_STA_PS_STA) || in ieee80211_check_fast_xmit()
2965 test_sta_flag(sta, WLAN_STA_PS_DRIVER) || in ieee80211_check_fast_xmit()
2966 test_sta_flag(sta, WLAN_STA_PS_DELIVER) || in ieee80211_check_fast_xmit()
2967 test_sta_flag(sta, WLAN_STA_CLEAR_PS_FILT)) in ieee80211_check_fast_xmit()
2998 if (test_sta_flag(sta, WLAN_STA_TDLS_PEER)) { in ieee80211_check_fast_xmit()
3031 memcpy(hdr->addr1, sta->sta.addr, ETH_ALEN); in ieee80211_check_fast_xmit()
3052 if (sta->sta.wme) { in ieee80211_check_fast_xmit()
3062 build.key = rcu_access_pointer(sta->ptk[sta->ptk_idx]); in ieee80211_check_fast_xmit()
3151 old = rcu_dereference_protected(sta->fast_tx, in ieee80211_check_fast_xmit()
3152 lockdep_is_held(&sta->lock)); in ieee80211_check_fast_xmit()
3153 rcu_assign_pointer(sta->fast_tx, fast_tx); in ieee80211_check_fast_xmit()
3156 spin_unlock_bh(&sta->lock); in ieee80211_check_fast_xmit()
3161 struct sta_info *sta; in ieee80211_check_fast_xmit_all() local
3164 list_for_each_entry_rcu(sta, &local->sta_list, list) in ieee80211_check_fast_xmit_all()
3165 ieee80211_check_fast_xmit(sta); in ieee80211_check_fast_xmit_all()
3172 struct sta_info *sta; in ieee80211_check_fast_xmit_iface() local
3176 list_for_each_entry_rcu(sta, &local->sta_list, list) { in ieee80211_check_fast_xmit_iface()
3177 if (sdata != sta->sdata && in ieee80211_check_fast_xmit_iface()
3178 (!sta->sdata->bss || sta->sdata->bss != sdata->bss)) in ieee80211_check_fast_xmit_iface()
3180 ieee80211_check_fast_xmit(sta); in ieee80211_check_fast_xmit_iface()
3186 void ieee80211_clear_fast_xmit(struct sta_info *sta) in ieee80211_clear_fast_xmit() argument
3190 spin_lock_bh(&sta->lock); in ieee80211_clear_fast_xmit()
3191 fast_tx = rcu_dereference_protected(sta->fast_tx, in ieee80211_clear_fast_xmit()
3192 lockdep_is_held(&sta->lock)); in ieee80211_clear_fast_xmit()
3193 RCU_INIT_POINTER(sta->fast_tx, NULL); in ieee80211_clear_fast_xmit()
3194 spin_unlock_bh(&sta->lock); in ieee80211_clear_fast_xmit()
3284 struct sta_info *sta, in ieee80211_amsdu_aggregate() argument
3293 struct ieee80211_txq *txq = sta->sta.txq[tid]; in ieee80211_amsdu_aggregate()
3297 u8 max_subframes = sta->sta.max_amsdu_subframes; in ieee80211_amsdu_aggregate()
3299 int max_amsdu_len = sta->sta.max_amsdu_len; in ieee80211_amsdu_aggregate()
3322 if (sta->sta.max_rc_amsdu_len) in ieee80211_amsdu_aggregate()
3324 sta->sta.max_rc_amsdu_len); in ieee80211_amsdu_aggregate()
3326 if (sta->sta.max_tid_amsdu_len[tid]) in ieee80211_amsdu_aggregate()
3328 sta->sta.max_tid_amsdu_len[tid]); in ieee80211_amsdu_aggregate()
3429 struct sta_info *sta, u8 pn_offs, in ieee80211_xmit_fast_finish() argument
3444 hdr->seq_ctrl = ieee80211_tx_next_seq(sta, tid); in ieee80211_xmit_fast_finish()
3452 sta->tx_stats.msdu[tid] += in ieee80211_xmit_fast_finish()
3455 sta->tx_stats.msdu[tid]++; in ieee80211_xmit_fast_finish()
3462 sta->tx_stats.bytes[skb_get_queue_mapping(skb)] += skb->len; in ieee80211_xmit_fast_finish()
3463 sta->tx_stats.packets[skb_get_queue_mapping(skb)]++; in ieee80211_xmit_fast_finish()
3488 struct sta_info *sta, in ieee80211_xmit_fast() argument
3518 tid_tx = rcu_dereference(sta->ampdu_mlme.tid_tx[tid]); in ieee80211_xmit_fast()
3540 ieee80211_amsdu_aggregate(sdata, sta, fast_tx, skb)) in ieee80211_xmit_fast()
3585 tx.sta = sta; in ieee80211_xmit_fast()
3601 if (ieee80211_queue_skb(local, sdata, sta, skb)) in ieee80211_xmit_fast()
3604 ieee80211_xmit_fast_finish(sdata, sta, fast_tx->pn_offs, in ieee80211_xmit_fast()
3612 ieee80211_tx_frags(local, &sdata->vif, sta, &tx.skbs, false); in ieee80211_xmit_fast()
3667 if (txq->sta) { in ieee80211_tx_dequeue()
3668 tx.sta = container_of(txq->sta, struct sta_info, sta); in ieee80211_tx_dequeue()
3678 !test_sta_flag(tx.sta, WLAN_STA_AUTHORIZED) && in ieee80211_tx_dequeue()
3708 struct sta_info *sta = container_of(txq->sta, struct sta_info, in ieee80211_tx_dequeue() local
3709 sta); in ieee80211_tx_dequeue()
3716 ieee80211_xmit_fast_finish(sta->sdata, sta, pn_offs, in ieee80211_tx_dequeue()
3774 airtime = ieee80211_calc_expected_tx_airtime(hw, vif, txq->sta, in ieee80211_tx_dequeue()
3778 ieee80211_sta_update_pending_airtime(local, tx.sta, in ieee80211_tx_dequeue()
3820 if (txqi->txq.sta) { in ieee80211_next_txq()
3821 struct sta_info *sta = container_of(txqi->txq.sta, in ieee80211_next_txq() local
3822 struct sta_info, sta); in ieee80211_next_txq()
3824 s64 deficit = sta->airtime[txqi->txq.ac].deficit; in ieee80211_next_txq()
3830 sta->airtime[txqi->txq.ac].deficit += in ieee80211_next_txq()
3831 sta->airtime_weight; in ieee80211_next_txq()
3873 if (txqi->txq.sta && local->airtime_flags && in __ieee80211_schedule_txq()
3890 struct sta_info *sta; in ieee80211_txq_airtime_check() local
3896 if (!txq->sta) in ieee80211_txq_airtime_check()
3899 sta = container_of(txq->sta, struct sta_info, sta); in ieee80211_txq_airtime_check()
3900 if (atomic_read(&sta->airtime[txq->ac].aql_tx_pending) < in ieee80211_txq_airtime_check()
3901 sta->airtime[txq->ac].aql_limit_low) in ieee80211_txq_airtime_check()
3906 atomic_read(&sta->airtime[txq->ac].aql_tx_pending) < in ieee80211_txq_airtime_check()
3907 sta->airtime[txq->ac].aql_limit_high) in ieee80211_txq_airtime_check()
3919 struct sta_info *sta; in ieee80211_txq_may_transmit() local
3924 if (!txqi->txq.sta) in ieee80211_txq_may_transmit()
3935 if (!iter->txq.sta) { in ieee80211_txq_may_transmit()
3940 sta = container_of(iter->txq.sta, struct sta_info, sta); in ieee80211_txq_may_transmit()
3941 if (sta->airtime[ac].deficit < 0) in ieee80211_txq_may_transmit()
3942 sta->airtime[ac].deficit += sta->airtime_weight; in ieee80211_txq_may_transmit()
3946 sta = container_of(txqi->txq.sta, struct sta_info, sta); in ieee80211_txq_may_transmit()
3947 if (sta->airtime[ac].deficit >= 0) in ieee80211_txq_may_transmit()
3950 sta->airtime[ac].deficit += sta->airtime_weight; in ieee80211_txq_may_transmit()
3982 struct sta_info *sta; in __ieee80211_subif_start_xmit() local
3992 if (ieee80211_lookup_ra_sta(sdata, skb, &sta)) in __ieee80211_subif_start_xmit()
3995 if (IS_ERR(sta)) in __ieee80211_subif_start_xmit()
3996 sta = NULL; in __ieee80211_subif_start_xmit()
3999 u16 queue = __ieee80211_select_queue(sdata, sta, skb); in __ieee80211_subif_start_xmit()
4004 if (sta) { in __ieee80211_subif_start_xmit()
4009 fast_tx = rcu_dereference(sta->fast_tx); in __ieee80211_subif_start_xmit()
4012 ieee80211_xmit_fast(sdata, sta, fast_tx, skb)) in __ieee80211_subif_start_xmit()
4052 sta, ctrl_flags, cookie); in __ieee80211_subif_start_xmit()
4060 ieee80211_xmit(sdata, sta, skb); in __ieee80211_subif_start_xmit()
4069 static int ieee80211_change_da(struct sk_buff *skb, struct sta_info *sta) in ieee80211_change_da() argument
4079 ether_addr_copy(eth->h_dest, sta->sta.addr); in ieee80211_change_da()
4097 if (sdata->u.vlan.sta) in ieee80211_multicast_to_unicast()
4134 struct sta_info *sta, *first = NULL; in ieee80211_convert_to_unicast() local
4139 list_for_each_entry_rcu(sta, &local->sta_list, list) { in ieee80211_convert_to_unicast()
4140 if (sdata != sta->sdata) in ieee80211_convert_to_unicast()
4143 if (unlikely(ether_addr_equal(eth->h_source, sta->sta.addr))) in ieee80211_convert_to_unicast()
4147 first = sta; in ieee80211_convert_to_unicast()
4153 if (unlikely(ieee80211_change_da(cloned_skb, sta))) { in ieee80211_convert_to_unicast()
4204 struct sta_info *sta, in ieee80211_tx_8023() argument
4214 if (ieee80211_queue_skb(local, sdata, sta, skb)) in ieee80211_tx_8023()
4233 if (sta && sta->uploaded) in ieee80211_tx_8023()
4234 pubsta = &sta->sta; in ieee80211_tx_8023()
4236 control.sta = pubsta; in ieee80211_tx_8023()
4244 struct net_device *dev, struct sta_info *sta, in ieee80211_8023_xmit() argument
4253 u16 queue = __ieee80211_select_queue(sdata, sta, skb); in ieee80211_8023_xmit()
4265 tid_tx = rcu_dereference(sta->ampdu_mlme.tid_tx[tid]); in ieee80211_8023_xmit()
4287 sta->tx_stats.bytes[skb_get_queue_mapping(skb)] += skb->len; in ieee80211_8023_xmit()
4288 sta->tx_stats.packets[skb_get_queue_mapping(skb)]++; in ieee80211_8023_xmit()
4300 ieee80211_tx_8023(sdata, skb, skb->len, sta, false); in ieee80211_8023_xmit()
4314 struct sta_info *sta; in ieee80211_subif_start_xmit_8023() local
4323 if (ieee80211_lookup_ra_sta(sdata, skb, &sta)) { in ieee80211_subif_start_xmit_8023()
4328 if (unlikely(IS_ERR_OR_NULL(sta) || !sta->uploaded || in ieee80211_subif_start_xmit_8023()
4329 !test_sta_flag(sta, WLAN_STA_AUTHORIZED) || in ieee80211_subif_start_xmit_8023()
4333 key = rcu_dereference(sta->ptk[sta->ptk_idx]); in ieee80211_subif_start_xmit_8023()
4341 ieee80211_8023_xmit(sdata, dev, sta, key, skb); in ieee80211_subif_start_xmit_8023()
4361 struct sta_info *sta; in ieee80211_build_data_template() local
4365 if (ieee80211_lookup_ra_sta(sdata, skb, &sta)) { in ieee80211_build_data_template()
4371 skb = ieee80211_build_hdr(sdata, skb, info_flags, sta, 0, NULL); in ieee80211_build_data_template()
4376 tx.sta = sta_info_get(sdata, hdr->addr1); in ieee80211_build_data_template()
4415 struct sta_info *sta; in ieee80211_tx_pending_skb() local
4431 if (ieee80211_lookup_ra_sta(sdata, skb, &sta)) { in ieee80211_tx_pending_skb()
4436 if (IS_ERR(sta) || (sta && !sta->uploaded)) in ieee80211_tx_pending_skb()
4437 sta = NULL; in ieee80211_tx_pending_skb()
4439 result = ieee80211_tx_8023(sdata, skb, skb->len, sta, true); in ieee80211_tx_pending_skb()
4447 sta = sta_info_get(sdata, hdr->addr1); in ieee80211_tx_pending_skb()
4449 result = __ieee80211_tx(local, &skbs, skb->len, sta, true); in ieee80211_tx_pending_skb()
5170 struct sta_info *sta; in ieee80211_nullfunc_get() local
5173 sta = sta_info_get(sdata, ifmgd->bssid); in ieee80211_nullfunc_get()
5174 qos = sta && sta->sta.wme; in ieee80211_nullfunc_get()
5355 struct sta_info *sta = container_of(pubsta, struct sta_info, sta); in ieee80211_reserve_tid() local
5356 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_reserve_tid()
5377 if (sta->reserved_tid == tid) { in ieee80211_reserve_tid()
5382 if (sta->reserved_tid != IEEE80211_TID_UNRESERVED) { in ieee80211_reserve_tid()
5395 set_sta_flag(sta, WLAN_STA_BLOCK_BA); in ieee80211_reserve_tid()
5396 __ieee80211_stop_tx_ba_session(sta, tid, in ieee80211_reserve_tid()
5403 sta->reserved_tid = tid; in ieee80211_reserve_tid()
5409 clear_sta_flag(sta, WLAN_STA_BLOCK_BA); in ieee80211_reserve_tid()
5419 struct sta_info *sta = container_of(pubsta, struct sta_info, sta); in ieee80211_unreserve_tid() local
5420 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_unreserve_tid()
5435 if (tid != sta->reserved_tid) { in ieee80211_unreserve_tid()
5440 sta->reserved_tid = IEEE80211_TID_UNRESERVED; in ieee80211_unreserve_tid()