diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/htt_tx.c')
-rw-r--r-- | drivers/net/wireless/ath/ath10k/htt_tx.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/htt_tx.c b/drivers/net/wireless/ath/ath10k/htt_tx.c index 16823970dbfd..bd8f264ed8cd 100644 --- a/drivers/net/wireless/ath/ath10k/htt_tx.c +++ b/drivers/net/wireless/ath/ath10k/htt_tx.c | |||
@@ -477,6 +477,13 @@ int ath10k_htt_mgmt_tx(struct ath10k_htt *htt, struct sk_buff *msdu) | |||
477 | 477 | ||
478 | msdu_id = res; | 478 | msdu_id = res; |
479 | 479 | ||
480 | if ((ieee80211_is_action(hdr->frame_control) || | ||
481 | ieee80211_is_deauth(hdr->frame_control) || | ||
482 | ieee80211_is_disassoc(hdr->frame_control)) && | ||
483 | ieee80211_has_protected(hdr->frame_control)) { | ||
484 | skb_put(msdu, IEEE80211_CCMP_MIC_LEN); | ||
485 | } | ||
486 | |||
480 | txdesc = ath10k_htc_alloc_skb(ar, len); | 487 | txdesc = ath10k_htc_alloc_skb(ar, len); |
481 | if (!txdesc) { | 488 | if (!txdesc) { |
482 | res = -ENOMEM; | 489 | res = -ENOMEM; |