Search Linux Wireless

[PATCH] ath10k: pass also QOS Null frames through mgmt tx path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Fw will report wrong tx status for QOS Null frames
sent through data tx path.

This patch fixes station(s) keep alive detection
triggered from wpa_supplicant/hostapd when work
as AP/GO and WMM enabled.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx>
---
 drivers/net/wireless/ath/ath10k/mac.c |   14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index da5c333..81b1a4b 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -1398,11 +1398,15 @@ static void ath10k_tx_htt(struct ath10k *ar, struct sk_buff *skb)
 
 	if (ieee80211_is_mgmt(hdr->frame_control))
 		ret = ath10k_htt_mgmt_tx(ar->htt, skb);
-	else if (ieee80211_is_nullfunc(hdr->frame_control))
-		/* FW does not report tx status properly for NullFunc frames
-		 * unless they are sent through mgmt tx path. mac80211 sends
-		 * those frames when it detects link/beacon loss and depends on
-		 * the tx status to be correct. */
+	else if (ieee80211_is_nullfunc(hdr->frame_control) ||
+		 ieee80211_is_qos_nullfunc(hdr->frame_control))
+		/* FW does not report tx status properly for NullFunc and
+		 * QOS NullFunc frames unless they are sent through mgmt
+		 * tx path. mac80211 sends those frames when it detects
+		 * link/beacon loss and depends on the tx status to be
+		 * correct. mac80211 also send those frames when probe_client
+		 * in case of AP/GO mode.
+		 */
 		ret = ath10k_htt_mgmt_tx(ar->htt, skb);
 	else
 		ret = ath10k_htt_tx(ar->htt, skb);
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux