diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index eb0d27c3b75..f7f116aa7db 100644 --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -3892,18 +3892,27 @@ 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) sc->sc_stats.ast_rx_agg++; 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. */