diff options
| -rw-r--r-- | drivers/net/wireless/ath/ath10k/htt_tx.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/htt_tx.c b/drivers/net/wireless/ath/ath10k/htt_tx.c index 2a8667e95c46..c1961e77d58d 100644 --- a/drivers/net/wireless/ath/ath10k/htt_tx.c +++ b/drivers/net/wireless/ath/ath10k/htt_tx.c | |||
| @@ -454,6 +454,12 @@ int ath10k_htt_tx(struct ath10k_htt *htt, struct sk_buff *msdu) | |||
| 454 | } | 454 | } |
| 455 | skb_cb->htt.txbuf_paddr = paddr; | 455 | skb_cb->htt.txbuf_paddr = paddr; |
| 456 | 456 | ||
| 457 | if ((ieee80211_is_action(hdr->frame_control) || | ||
| 458 | ieee80211_is_deauth(hdr->frame_control) || | ||
| 459 | ieee80211_is_disassoc(hdr->frame_control)) && | ||
| 460 | ieee80211_has_protected(hdr->frame_control)) | ||
| 461 | skb_put(msdu, IEEE80211_CCMP_MIC_LEN); | ||
| 462 | |||
| 457 | skb_cb->paddr = dma_map_single(dev, msdu->data, msdu->len, | 463 | skb_cb->paddr = dma_map_single(dev, msdu->data, msdu->len, |
| 458 | DMA_TO_DEVICE); | 464 | DMA_TO_DEVICE); |
| 459 | res = dma_mapping_error(dev, skb_cb->paddr); | 465 | res = dma_mapping_error(dev, skb_cb->paddr); |
