Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Aug 2008 22:35:34 GMT
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 147272 for review
Message-ID:  <200808122235.m7CMZYkx098546@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=147272

Change 147272 by sam@sam_ebb on 2008/08/12 22:35:03

	not sure where the previous code came from but it was way wrong

Affected files ...

.. //depot/projects/vap/sys/net80211/ieee80211.h#14 edit
.. //depot/projects/vap/sys/net80211/ieee80211_ht.c#36 edit

Differences ...

==== //depot/projects/vap/sys/net80211/ieee80211.h#14 (text+ko) ====

@@ -397,9 +397,13 @@
 /* BAR Control */
 #define	IEEE80211_BAR_TID	0xf000		/* TID */
 #define	IEEE80211_BAR_TID_S	12
-#define	IEEE80211_BAR_COMP	0x0004		/* compressed */
-#define	IEEE80211_BAR_MTID	0x0002
-#define	IEEE80211_BAR_NOACK	0x0001		/* no-ack policy */
+#define	IEEE80211_BAR_COMP	0x0004		/* Compressed Bitmap */
+#define	IEEE80211_BAR_MTID	0x0002		/* Multi-TID */
+#define	IEEE80211_BAR_NOACK	0x0001		/* No-Ack policy */
+
+/* BAR Starting Sequence Control */
+#define	IEEE80211_BAR_SEQ_START	0xfff0		/* starting seqnum */
+#define	IEEE80211_BAR_SEQ_START_S	4
 
 struct ieee80211_ba_request {
 	uint16_t	rq_barctl;

==== //depot/projects/vap/sys/net80211/ieee80211_ht.c#36 (text+ko) ====

@@ -1754,6 +1754,8 @@
  * Transmit a BAR frame to the specified node.  The
  * BAR contents are drawn from the supplied aggregation
  * state associated with the node.
+ *
+ * NB: we only handle immediate ACK w/ compressed bitmap.
  */
 int
 ieee80211_send_bar(struct ieee80211_node *ni,
@@ -1784,14 +1786,11 @@
 
 	tid = WME_AC_TO_TID(tap->txa_ac);
 	barctl 	= (tap->txa_flags & IEEE80211_AGGR_IMMEDIATE ?
-			IEEE80211_BAPS_POLICY_IMMEDIATE :
-			IEEE80211_BAPS_POLICY_DELAYED)
-		| SM(tid, IEEE80211_BAPS_TID)
-		| SM(tap->txa_wnd, IEEE80211_BAPS_BUFSIZ)
+			0 : IEEE80211_BAR_NOACK)
+		| IEEE80211_BAR_COMP
+		| SM(tid, IEEE80211_BAR_TID)
 		;
-	barseqctl = SM(seq, IEEE80211_BASEQ_START)
-		| SM(0, IEEE80211_BASEQ_FRAG)
-		;
+	barseqctl = SM(seq, IEEE80211_BAR_SEQ_START);
 	/* NB: known to have proper alignment */
 	bar->i_ctl = htole16(barctl);
 	bar->i_seq = htole16(barseqctl);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808122235.m7CMZYkx098546>