summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorMarek Kwaczynski2015-01-24 11:14:53 +0100
committerKalle Valo2015-01-27 15:25:23 +0100
commiteebc67fef3eed8c768b9c046273dff6467b22cf4 (patch)
tree13c0a8c20736a3fc7a539074500810a8b2741150 /drivers/net/wireless
parentath10k: remove sw encryption for pmf (diff)
downloadkernel-qcow2-linux-eebc67fef3eed8c768b9c046273dff6467b22cf4.tar.gz
kernel-qcow2-linux-eebc67fef3eed8c768b9c046273dff6467b22cf4.tar.xz
kernel-qcow2-linux-eebc67fef3eed8c768b9c046273dff6467b22cf4.zip
ath10k: fix pmf for wmi-tlv on qca6174
New wmi-tlv firmware uses HTT 3.0 protocol which uses TX_FRM command for management frames (instead of a dedicated command). To support PMF it is necessary to provide explicit tailroom. Signed-off-by: Marek Kwaczynski <marek.kwaczynski@tieto.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ath/ath10k/htt_tx.c6
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)
}
skb_cb->htt.txbuf_paddr = paddr;
+ if ((ieee80211_is_action(hdr->frame_control) ||
+ ieee80211_is_deauth(hdr->frame_control) ||
+ ieee80211_is_disassoc(hdr->frame_control)) &&
+ ieee80211_has_protected(hdr->frame_control))
+ skb_put(msdu, IEEE80211_CCMP_MIC_LEN);
+
skb_cb->paddr = dma_map_single(dev, msdu->data, msdu->len,
DMA_TO_DEVICE);
res = dma_mapping_error(dev, skb_cb->paddr);