Lines Matching refs:fast_tx

3010  * checks that are needed to get the sta->fast_tx pointer assigned, after which
3012 * disabled or the fast_tx pointer will not be set. All the conditions are seen
3015 * Once assigned, the fast_tx data structure also caches the per-packet 802.11
3028 struct ieee80211_fast_tx build = {}, *fast_tx = NULL, *old;
3262 fast_tx = kmemdup(&build, sizeof(build), GFP_ATOMIC);
3263 /* if the kmemdup fails, continue w/o fast_tx */
3267 old = rcu_dereference_protected(sta->fast_tx,
3269 rcu_assign_pointer(sta->fast_tx, fast_tx);
3304 struct ieee80211_fast_tx *fast_tx;
3307 fast_tx = rcu_dereference_protected(sta->fast_tx,
3309 RCU_INIT_POINTER(sta->fast_tx, NULL);
3312 if (fast_tx)
3313 kfree_rcu(fast_tx, rcu_head);
3333 struct ieee80211_fast_tx *fast_tx,
3340 int hdr_len = fast_tx->hdr_len - sizeof(rfc1042_header);
3362 h_80211_src = data + fast_tx->sa_offs;
3363 h_80211_dst = data + fast_tx->da_offs;
3401 struct ieee80211_fast_tx *fast_tx,
3491 if (!ieee80211_amsdu_prepare_head(sdata, fast_tx, head))
3509 hdrlen = fast_tx->hdr_len - sizeof(rfc1042_header);
3670 struct ieee80211_fast_tx *fast_tx,
3675 struct ieee80211_hdr *hdr = (void *)fast_tx->hdr;
3680 int extra_head = fast_tx->hdr_len - (ETH_HLEN - 2);
3687 ieee80211_amsdu_aggregate(sdata, sta, fast_tx, skb, da, sa))
3701 memcpy(skb->data, fast_tx->hdr, fast_tx->hdr_len);
3702 memcpy(skb->data + fast_tx->da_offs, da, ETH_ALEN);
3703 memcpy(skb->data + fast_tx->sa_offs, sa, ETH_ALEN);
3707 info->band = fast_tx->band;
3732 tx.key = fast_tx->key;
3738 r = ieee80211_xmit_fast_finish(sdata, sta, fast_tx->pn_offs,
3739 fast_tx->key, &tx);
3758 struct ieee80211_fast_tx *fast_tx,
3762 struct ieee80211_hdr *hdr = (void *)fast_tx->hdr;
3800 __ieee80211_xmit_fast(sdata, sta, fast_tx, skb, tid_tx,
4304 struct ieee80211_fast_tx *fast_tx;
4306 fast_tx = rcu_dereference(sta->fast_tx);
4308 if (fast_tx &&
4309 ieee80211_xmit_fast(sdata, sta, fast_tx, skb))