Searched refs:fast_tx (Results 1 - 2 of 2) sorted by relevance
/linux-4.4.14/net/mac80211/ |
H A D | tx.c | 2405 * checks that are needed to get the sta->fast_tx pointer assigned, after which 2407 * disabled or the fast_tx pointer will not be set. All the conditions are seen 2410 * Once assigned, the fast_tx data structure also caches the per-packet 802.11 2423 struct ieee80211_fast_tx build = {}, *fast_tx = NULL, *old; ieee80211_check_fast_xmit() local 2636 fast_tx = kmemdup(&build, sizeof(build), GFP_ATOMIC); ieee80211_check_fast_xmit() 2637 /* if the kmemdup fails, continue w/o fast_tx */ ieee80211_check_fast_xmit() 2638 if (!fast_tx) ieee80211_check_fast_xmit() 2643 old = rcu_dereference_protected(sta->fast_tx, ieee80211_check_fast_xmit() 2645 rcu_assign_pointer(sta->fast_tx, fast_tx); ieee80211_check_fast_xmit() 2680 struct ieee80211_fast_tx *fast_tx; ieee80211_clear_fast_xmit() local 2683 fast_tx = rcu_dereference_protected(sta->fast_tx, ieee80211_clear_fast_xmit() 2685 RCU_INIT_POINTER(sta->fast_tx, NULL); ieee80211_clear_fast_xmit() 2688 if (fast_tx) ieee80211_clear_fast_xmit() 2689 kfree_rcu(fast_tx, rcu_head); ieee80211_clear_fast_xmit() 2694 struct ieee80211_fast_tx *fast_tx, ieee80211_xmit_fast() 2699 int extra_head = fast_tx->hdr_len - (ETH_HLEN - 2); ieee80211_xmit_fast() 2703 struct ieee80211_hdr *hdr = (void *)fast_tx->hdr; ieee80211_xmit_fast() 2760 memcpy(skb->data, fast_tx->hdr, fast_tx->hdr_len); ieee80211_xmit_fast() 2761 memcpy(skb->data + fast_tx->da_offs, eth.h_dest, ETH_ALEN); ieee80211_xmit_fast() 2762 memcpy(skb->data + fast_tx->sa_offs, eth.h_source, ETH_ALEN); ieee80211_xmit_fast() 2765 info->band = fast_tx->band; ieee80211_xmit_fast() 2795 tx.key = fast_tx->key; ieee80211_xmit_fast() 2797 if (fast_tx->key) ieee80211_xmit_fast() 2798 info->control.hw_key = &fast_tx->key->conf; ieee80211_xmit_fast() 2819 if (fast_tx->pn_offs) { ieee80211_xmit_fast() 2821 u8 *crypto_hdr = skb->data + fast_tx->pn_offs; ieee80211_xmit_fast() 2823 switch (fast_tx->key->conf.cipher) { ieee80211_xmit_fast() 2828 pn = atomic64_inc_return(&fast_tx->key->conf.tx_pn); ieee80211_xmit_fast() 2867 struct ieee80211_fast_tx *fast_tx; __ieee80211_subif_start_xmit() local 2869 fast_tx = rcu_dereference(sta->fast_tx); __ieee80211_subif_start_xmit() 2871 if (fast_tx && __ieee80211_subif_start_xmit() 2872 ieee80211_xmit_fast(sdata, dev, sta, fast_tx, skb)) __ieee80211_subif_start_xmit() 2692 ieee80211_xmit_fast(struct ieee80211_sub_if_data *sdata, struct net_device *dev, struct sta_info *sta, struct ieee80211_fast_tx *fast_tx, struct sk_buff *skb) ieee80211_xmit_fast() argument
|
H A D | sta_info.h | 381 * @fast_tx: TX fastpath information 404 struct ieee80211_fast_tx __rcu *fast_tx; member in struct:sta_info
|
Completed in 90 milliseconds