svn commit: r224800 - user/adrian/if_ath_tx/sys/dev/ath
Adrian Chadd
adrian at FreeBSD.org
Fri Aug 12 15:06:12 UTC 2011
Author: adrian
Date: Fri Aug 12 15:06:12 2011
New Revision: 224800
URL: http://svn.freebsd.org/changeset/base/224800
Log:
Ok, don't use seqnum=0, use the non-qos seqnum (tid 16.)
This matches what Linux does.
Modified:
user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c
Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c
==============================================================================
--- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Fri Aug 12 14:59:21 2011 (r224799)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Fri Aug 12 15:06:12 2011 (r224800)
@@ -1653,16 +1653,18 @@ ath_tx_tid_seqno_assign(struct ath_softc
return -1;
/*
- * Is it a QOS NULL Data frame? Give it a sequence number of 0x0.
+ * Is it a QOS NULL Data frame? Give it a sequence number from
+ * the default TID (IEEE80211_NONQOS_TID.)
+ *
* The RX path of everything I've looked at doesn't include the NULL
* data frame sequence number in the aggregation state updates, so
* assigning it a sequence number there will cause a BAW hole on the
* RX side.
*/
- /* XXX use the global sequence number instead? */
subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK;
if (subtype == IEEE80211_FC0_SUBTYPE_QOS_NULL) {
- seqno = 0;
+ seqno = ni->ni_txseqs[IEEE80211_NONQOS_TID];
+ INCR(ni->ni_txseqs[IEEE80211_NONQOS_TID], IEEE80211_SEQ_RANGE);
} else {
/* Manually assign sequence number */
seqno = ni->ni_txseqs[tid];
More information about the svn-src-user
mailing list