Linux wireless drivers development
 help / color / mirror / Atom feed
* [PATCH] mac80211: unconditionally set IEEE80211_TX_CTL_SEND_AFTER_DTIM
@ 2009-10-29 11:19 Johannes Berg
  0 siblings, 0 replies; only message in thread
From: Johannes Berg @ 2009-10-29 11:19 UTC (permalink / raw)
  To: John Linville; +Cc: linux-wireless

When mac80211 is asked to buffer multicast frames
in AP mode, it will not set the flag indicating
that the frames should be sent after the DTIM
beacon for those frames buffered in software. Fix
this little inconsistency by always setting that
flag in the buffering code path.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
---
Drivers still need to know since they usually have to put such frames
onto a separate queue...

 net/mac80211/tx.c |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

--- wireless-testing.orig/net/mac80211/tx.c	2009-10-29 12:15:05.000000000 +0100
+++ wireless-testing/net/mac80211/tx.c	2009-10-29 12:18:04.000000000 +0100
@@ -317,12 +317,11 @@ ieee80211_tx_h_multicast_ps_buf(struct i
 	if (!atomic_read(&tx->sdata->bss->num_sta_ps))
 		return TX_CONTINUE;
 
-	/* buffered in hardware */
-	if (!(tx->local->hw.flags & IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING)) {
-		info->flags |= IEEE80211_TX_CTL_SEND_AFTER_DTIM;
+	info->flags |= IEEE80211_TX_CTL_SEND_AFTER_DTIM;
 
+	/* device releases frame after DTIM beacon */
+	if (!(tx->local->hw.flags & IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING))
 		return TX_CONTINUE;
-	}
 
 	/* buffered in mac80211 */
 	if (tx->local->total_ps_buffered >= TOTAL_MAX_TX_BUFFER)



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-10-29 11:19 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-29 11:19 [PATCH] mac80211: unconditionally set IEEE80211_TX_CTL_SEND_AFTER_DTIM Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox