ath9k: queue null frames in case of MCC
authorJanusz Dziedzic <janusz.dziedzic@tieto.com>
Fri, 27 Nov 2015 08:37:08 +0000 (09:37 +0100)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 8 Dec 2015 14:50:38 +0000 (16:50 +0200)
While mac80211 using null frames when connection polling,
we should queue this frames while NOA could be there, and
AP, P2P_GO could be not present.

Without this patch, with no traffic we often saw disconnections
while we try to send nullfunc when AP/GO wasn't present.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath9k/xmit.c

index 26698a6..82fc76f 100644 (file)
@@ -2331,6 +2331,12 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb,
 
        queue = ieee80211_is_data_present(hdr->frame_control);
 
+       /* If chanctx, queue all null frames while NOA could be there */
+       if (ath9k_is_chanctx_enabled() &&
+           ieee80211_is_nullfunc(hdr->frame_control) &&
+           !txctl->force_channel)
+               queue = true;
+
        /* Force queueing of all frames that belong to a virtual interface on
         * a different channel context, to ensure that they are sent on the
         * correct channel.