Lines Matching refs:fast_tx
2933 struct ieee80211_fast_tx build = {}, *fast_tx = NULL, *old; in ieee80211_check_fast_xmit() local
3144 fast_tx = kmemdup(&build, sizeof(build), GFP_ATOMIC); in ieee80211_check_fast_xmit()
3146 if (!fast_tx) in ieee80211_check_fast_xmit()
3151 old = rcu_dereference_protected(sta->fast_tx, in ieee80211_check_fast_xmit()
3153 rcu_assign_pointer(sta->fast_tx, fast_tx); in ieee80211_check_fast_xmit()
3188 struct ieee80211_fast_tx *fast_tx; in ieee80211_clear_fast_xmit() local
3191 fast_tx = rcu_dereference_protected(sta->fast_tx, in ieee80211_clear_fast_xmit()
3193 RCU_INIT_POINTER(sta->fast_tx, NULL); in ieee80211_clear_fast_xmit()
3196 if (fast_tx) in ieee80211_clear_fast_xmit()
3197 kfree_rcu(fast_tx, rcu_head); in ieee80211_clear_fast_xmit()
3217 struct ieee80211_fast_tx *fast_tx, in ieee80211_amsdu_prepare_head() argument
3224 int hdr_len = fast_tx->hdr_len - sizeof(rfc1042_header); in ieee80211_amsdu_prepare_head()
3246 h_80211_src = data + fast_tx->sa_offs; in ieee80211_amsdu_prepare_head()
3247 h_80211_dst = data + fast_tx->da_offs; in ieee80211_amsdu_prepare_head()
3285 struct ieee80211_fast_tx *fast_tx, in ieee80211_amsdu_aggregate() argument
3369 if (!ieee80211_amsdu_prepare_head(sdata, fast_tx, head)) in ieee80211_amsdu_aggregate()
3387 hdrlen = fast_tx->hdr_len - sizeof(rfc1042_header); in ieee80211_amsdu_aggregate()
3489 struct ieee80211_fast_tx *fast_tx, in ieee80211_xmit_fast() argument
3494 int extra_head = fast_tx->hdr_len - (ETH_HLEN - 2); in ieee80211_xmit_fast()
3498 struct ieee80211_hdr *hdr = (void *)fast_tx->hdr; in ieee80211_xmit_fast()
3540 ieee80211_amsdu_aggregate(sdata, sta, fast_tx, skb)) in ieee80211_xmit_fast()
3557 memcpy(skb->data, fast_tx->hdr, fast_tx->hdr_len); in ieee80211_xmit_fast()
3558 memcpy(skb->data + fast_tx->da_offs, eth.h_dest, ETH_ALEN); in ieee80211_xmit_fast()
3559 memcpy(skb->data + fast_tx->sa_offs, eth.h_source, ETH_ALEN); in ieee80211_xmit_fast()
3563 info->band = fast_tx->band; in ieee80211_xmit_fast()
3586 tx.key = fast_tx->key; in ieee80211_xmit_fast()
3604 ieee80211_xmit_fast_finish(sdata, sta, fast_tx->pn_offs, in ieee80211_xmit_fast()
3605 fast_tx->key, skb); in ieee80211_xmit_fast()
4005 struct ieee80211_fast_tx *fast_tx; in __ieee80211_subif_start_xmit() local
4009 fast_tx = rcu_dereference(sta->fast_tx); in __ieee80211_subif_start_xmit()
4011 if (fast_tx && in __ieee80211_subif_start_xmit()
4012 ieee80211_xmit_fast(sdata, sta, fast_tx, skb)) in __ieee80211_subif_start_xmit()