diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath11k/dp_tx.c')
-rw-r--r-- | drivers/net/wireless/ath/ath11k/dp_tx.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath11k/dp_tx.c b/drivers/net/wireless/ath/ath11k/dp_tx.c index 3d962eee4d61..21dfd08d3deb 100644 --- a/drivers/net/wireless/ath/ath11k/dp_tx.c +++ b/drivers/net/wireless/ath/ath11k/dp_tx.c | |||
@@ -84,7 +84,6 @@ int ath11k_dp_tx(struct ath11k *ar, struct ath11k_vif *arvif, | |||
84 | struct ath11k_dp *dp = &ab->dp; | 84 | struct ath11k_dp *dp = &ab->dp; |
85 | struct hal_tx_info ti = {0}; | 85 | struct hal_tx_info ti = {0}; |
86 | struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); | 86 | struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); |
87 | struct ieee80211_key_conf *key = info->control.hw_key; | ||
88 | struct ath11k_skb_cb *skb_cb = ATH11K_SKB_CB(skb); | 87 | struct ath11k_skb_cb *skb_cb = ATH11K_SKB_CB(skb); |
89 | struct hal_srng *tcl_ring; | 88 | struct hal_srng *tcl_ring; |
90 | struct ieee80211_hdr *hdr = (void *)skb->data; | 89 | struct ieee80211_hdr *hdr = (void *)skb->data; |
@@ -149,9 +148,9 @@ tcl_ring_sel: | |||
149 | ti.meta_data_flags = arvif->tcl_metadata; | 148 | ti.meta_data_flags = arvif->tcl_metadata; |
150 | 149 | ||
151 | if (ti.encap_type == HAL_TCL_ENCAP_TYPE_RAW) { | 150 | if (ti.encap_type == HAL_TCL_ENCAP_TYPE_RAW) { |
152 | if (key) { | 151 | if (skb_cb->flags & ATH11K_SKB_CIPHER_SET) { |
153 | ti.encrypt_type = | 152 | ti.encrypt_type = |
154 | ath11k_dp_tx_get_encrypt_type(key->cipher); | 153 | ath11k_dp_tx_get_encrypt_type(skb_cb->cipher); |
155 | 154 | ||
156 | if (ieee80211_has_protected(hdr->frame_control)) | 155 | if (ieee80211_has_protected(hdr->frame_control)) |
157 | skb_put(skb, IEEE80211_CCMP_MIC_LEN); | 156 | skb_put(skb, IEEE80211_CCMP_MIC_LEN); |