From: Marek Kwaczynski Date: Sat, 24 Jan 2015 10:14:53 +0000 (+0200) Subject: ath10k: fix pmf for wmi-tlv on qca6174 X-Git-Tag: v4.0-rc1~133^2~10^2^2~13 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=eebc67fef3eed8c768b9c046273dff6467b22cf4;p=karo-tx-linux.git 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 Signed-off-by: Michal Kazior Signed-off-by: Kalle Valo --- 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);