diff options
author | Felix Fietkau <nbd@openwrt.org> | 2016-02-28 15:19:53 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2016-04-05 10:50:17 +0200 |
commit | c3732a7b37bca52bdd23aacde001f2038f9cb11a (patch) | |
tree | e74cf1a66ef12e2bc278c1b9f63b3bc752097219 /net/mac80211 | |
parent | 05cf8077e54b20dddb756eaa26f3aeb5c38dd3cf (diff) | |
download | linux-c3732a7b37bca52bdd23aacde001f2038f9cb11a.tar.gz linux-c3732a7b37bca52bdd23aacde001f2038f9cb11a.tar.bz2 linux-c3732a7b37bca52bdd23aacde001f2038f9cb11a.zip |
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>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/tx.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 62ad5321257d..664624ef9925 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -1247,7 +1247,8 @@ static void ieee80211_drv_tx(struct ieee80211_local *local, struct txq_info *txqi; 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; if (!ieee80211_is_data(hdr->frame_control)) |