aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath10k/htt_tx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/htt_tx.c')
-rw-r--r--drivers/net/wireless/ath/ath10k/htt_tx.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/htt_tx.c b/drivers/net/wireless/ath/ath10k/htt_tx.c
index 2ef717f18795..a182c0944cc7 100644
--- a/drivers/net/wireless/ath/ath10k/htt_tx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_tx.c
@@ -1237,6 +1237,7 @@ static int ath10k_htt_tx_hl(struct ath10k_htt *htt, enum ath10k_hw_txrx_mode txm
1237 struct ath10k *ar = htt->ar; 1237 struct ath10k *ar = htt->ar;
1238 int res, data_len; 1238 int res, data_len;
1239 struct htt_cmd_hdr *cmd_hdr; 1239 struct htt_cmd_hdr *cmd_hdr;
1240 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)msdu->data;
1240 struct htt_data_tx_desc *tx_desc; 1241 struct htt_data_tx_desc *tx_desc;
1241 struct ath10k_skb_cb *skb_cb = ATH10K_SKB_CB(msdu); 1242 struct ath10k_skb_cb *skb_cb = ATH10K_SKB_CB(msdu);
1242 struct sk_buff *tmp_skb; 1243 struct sk_buff *tmp_skb;
@@ -1247,6 +1248,13 @@ static int ath10k_htt_tx_hl(struct ath10k_htt *htt, enum ath10k_hw_txrx_mode txm
1247 u16 flags1 = 0; 1248 u16 flags1 = 0;
1248 u16 msdu_id = 0; 1249 u16 msdu_id = 0;
1249 1250
1251 if ((ieee80211_is_action(hdr->frame_control) ||
1252 ieee80211_is_deauth(hdr->frame_control) ||
1253 ieee80211_is_disassoc(hdr->frame_control)) &&
1254 ieee80211_has_protected(hdr->frame_control)) {
1255 skb_put(msdu, IEEE80211_CCMP_MIC_LEN);
1256 }
1257
1250 data_len = msdu->len; 1258 data_len = msdu->len;
1251 1259
1252 switch (txmode) { 1260 switch (txmode) {