linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: John Linville <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org
Subject: [PATCH v2 16/16] mac80211: dont assign seqno to or aggregate QoS Null frames
Date: Thu, 29 Sep 2011 16:04:41 +0200	[thread overview]
Message-ID: <20110929140503.096662080@sipsolutions.net> (raw)
In-Reply-To: 20110929140425.390322480@sipsolutions.net

From: Johannes Berg <johannes.berg@intel.com>

802.11 says:
"Sequence numbers for QoS (+)Null frames may be
set to any value."

However, if we use the normal counters then peers
will get confused with aggregation since there'll
be holes in the sequence number sequence.

To avoid that, neither assign a sequence number
to QoS null frames nor put them on aggregation.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
 net/mac80211/tx.c |    4 ++++
 1 file changed, 4 insertions(+)

--- a/net/mac80211/tx.c	2011-09-28 19:10:21.000000000 +0200
+++ b/net/mac80211/tx.c	2011-09-28 19:10:26.000000000 +0200
@@ -804,6 +804,9 @@ ieee80211_tx_h_sequence(struct ieee80211
 	if (ieee80211_hdrlen(hdr->frame_control) < 24)
 		return TX_CONTINUE;
 
+	if (ieee80211_is_qos_nullfunc(hdr->frame_control))
+		return TX_CONTINUE;
+
 	/*
 	 * Anything but QoS data that has a sequence number field
 	 * (is long enough) gets a sequence number from the global
@@ -1236,6 +1239,7 @@ ieee80211_tx_prepare(struct ieee80211_su
 		tx->sta = sta_info_get(sdata, hdr->addr1);
 
 	if (tx->sta && ieee80211_is_data_qos(hdr->frame_control) &&
+	    !ieee80211_is_qos_nullfunc(hdr->frame_control) &&
 	    (local->hw.flags & IEEE80211_HW_AMPDU_AGGREGATION) &&
 	    !(local->hw.flags & IEEE80211_HW_TX_AMPDU_SETUP_IN_HW)) {
 		struct tid_ampdu_tx *tid_tx;



      parent reply	other threads:[~2011-09-29 14:07 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-29 14:04 [PATCH v2 00/16] mac80211 uAPSD support Johannes Berg
2011-09-29 14:04 ` [PATCH v2 01/16] mac80211: let drivers inform it about per TID buffered frames Johannes Berg
2011-09-29 14:04 ` [PATCH v2 02/16] mac80211: unify TIM bit handling Johannes Berg
2011-09-29 14:04 ` [PATCH v2 03/16] mac80211: also expire filtered frames Johannes Berg
2011-09-29 14:04 ` [PATCH v2 04/16] mac80211: split PS buffers into ACs Johannes Berg
2011-09-29 14:04 ` [PATCH v2 05/16] mac80211: remove return value from add_pending_skbs Johannes Berg
2011-09-29 14:04 ` [PATCH v2 06/16] mac80211: clear more-data bit on filtered frames Johannes Berg
2011-09-29 14:04 ` [PATCH v2 07/16] mac80211: allow releasing driver-buffered frames Johannes Berg
2011-09-29 14:04 ` [PATCH v2 08/16] mac80211: implement uAPSD Johannes Berg
2011-09-29 14:04 ` [PATCH v2 09/16] mac80211: send (QoS) Null if no buffered frames Johannes Berg
2011-09-29 14:04 ` [PATCH v2 10/16] mac80211: reply only once to each PS-poll Johannes Berg
2011-09-29 14:04 ` [PATCH v2 11/16] mac80211: optimise station flags Johannes Berg
2011-09-29 14:04 ` [PATCH v2 12/16] mac80211: add missing station flags to debugfs Johannes Berg
2011-09-29 14:04 ` [PATCH v2 13/16] mac80211: explicitly notify drivers of frame release Johannes Berg
2011-09-29 14:04 ` [PATCH v2 14/16] mac80211: allow out-of-band EOSP notification Johannes Berg
2011-09-29 14:04 ` [PATCH v2 15/16] mac80211: document client powersave Johannes Berg
2011-09-29 14:04 ` Johannes Berg [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110929140503.096662080@sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).