Author: adrian
Date: Tue Feb  8 20:16:43 2011
New Revision: 218453
URL: http://svn.freebsd.org/changeset/base/218453

Log:
  net80211 really doesn't want A_MPDU to appear on non-11n station node mbufs.
  Revert back to the previous method of doing it for where a node can be
  identified and it's an 11n node.
  
  I'll have to do some further research into exactly what is being messed up
  with the sequence number matching and I'll then revisit this.

Modified:
  head/sys/dev/ath/if_ath.c

Modified: head/sys/dev/ath/if_ath.c
==============================================================================
--- head/sys/dev/ath/if_ath.c   Tue Feb  8 19:51:40 2011        (r218452)
+++ head/sys/dev/ath/if_ath.c   Tue Feb  8 20:16:43 2011        (r218453)
@@ -3892,12 +3892,14 @@ rx_accept:
                                IEEE80211_KEYIX_NONE : rs->rs_keyix);
                sc->sc_lastrs = rs;
                /* tag AMPDU aggregates for reorder processing */
+#if 0
                /*
                 * Just make sure all frames are tagged for AMPDU reorder 
checking.
                 * As there seems to be some situations where single frames 
aren't
                 * matching a node but bump the seqno. This needs to be 
investigated.
                 */
                m->m_flags |= M_AMPDU;
+#endif
 
                /* Keep statistics on the number of aggregate packets received 
*/
                if (rs->rs_isaggr)
@@ -3905,6 +3907,13 @@ rx_accept:
 
                if (ni != NULL) {
                        /*
+                        * Only punt packets for ampdu reorder processing for 
11n nodes;
+                        * net80211 enforces that M_AMPDU is only set for 11n 
nodes.
+                        */
+                       if (ni->ni_flags & IEEE80211_NODE_HT)
+                               m->m_flags |= M_AMPDU;
+
+                       /*
                         * Sending station is known, dispatch directly.
                         */
                        type = ieee80211_input(ni, m, rs->rs_rssi, nf);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to