diff options
author | Adrian Chadd <adrian@FreeBSD.org> | 2011-01-31 22:44:28 +0000 |
---|---|---|
committer | Adrian Chadd <adrian@FreeBSD.org> | 2011-01-31 22:44:28 +0000 |
commit | a83df4d35dd5e5f7fd98dec35f13597400525b60 (patch) | |
tree | c8ccf657bc2cd5394785550a35147aee5f576d4c /sys/dev | |
parent | 606fffda660cee98769e3117323bfe5e736dc727 (diff) | |
download | src-a83df4d35dd5e5f7fd98dec35f13597400525b60.tar.gz src-a83df4d35dd5e5f7fd98dec35f13597400525b60.zip |
Enable AMPDU reorder processing and receiving BAR frames when doing 802.11n.
Obtained from: rpaulo@
Notes
Notes:
svn path=/head/; revision=218145
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/ath/if_ath.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index 43ad7ce83f2b..30c7459ebe34 100644 --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -2312,6 +2312,8 @@ ath_calcrxfilter(struct ath_softc *sc) } if (ic->ic_opmode == IEEE80211_M_MONITOR) rfilt |= HAL_RX_FILTER_CONTROL; + if (IEEE80211_IS_CHAN_HT(ic->ic_curchan)) + rfilt |= HAL_RX_FILTER_COMPBAR; DPRINTF(sc, ATH_DEBUG_MODE, "%s: RX filter 0x%x, %s if_flags 0x%x\n", __func__, rfilt, ieee80211_opmode_name[ic->ic_opmode], ifp->if_flags); return rfilt; @@ -3891,6 +3893,10 @@ rx_accept: IEEE80211_KEYIX_NONE : rs->rs_keyix); sc->sc_lastrs = rs; if (ni != NULL) { + /* tag AMPDU aggregates for reorder processing */ + if (ni->ni_flags & IEEE80211_NODE_HT) + m->m_flags |= M_AMPDU; + /* * Sending station is known, dispatch directly. */ |