Преглед на файлове

mac80211: fix AP buffered multicast frames with queue control and txq

Buffered multicast frames must be passed to the driver directly via
drv_tx instead of going through the txq, otherwise they cannot easily be
scheduled to be sent after DTIM.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Felix Fietkau преди 9 години
родител
ревизия
c3732a7b37
променени са 1 файла, в които са добавени 2 реда и са изтрити 1 реда
  1. 2 1
      net/mac80211/tx.c

+ 2 - 1
net/mac80211/tx.c

@@ -1247,7 +1247,8 @@ static void ieee80211_drv_tx(struct ieee80211_local *local,
 	struct txq_info *txqi;
 	struct txq_info *txqi;
 	u8 ac;
 	u8 ac;
 
 
-	if (info->control.flags & IEEE80211_TX_CTRL_PS_RESPONSE)
+	if ((info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM) ||
+	    (info->control.flags & IEEE80211_TX_CTRL_PS_RESPONSE))
 		goto tx_normal;
 		goto tx_normal;
 
 
 	if (!ieee80211_is_data(hdr->frame_control))
 	if (!ieee80211_is_data(hdr->frame_control))