svn commit: r223113 - user/adrian/if_ath_tx/sys/dev/ath
Adrian Chadd
adrian at FreeBSD.org
Wed Jun 15 15:24:22 UTC 2011
Author: adrian
Date: Wed Jun 15 15:24:21 2011
New Revision: 223113
URL: http://svn.freebsd.org/changeset/base/223113
Log:
Misc stuff
* tidy up a function call so it doesn't go over > 80 lines
* add some disabled debugging for myself
Non-misc stuff (just so I don't forget):
The action frame is going out with AC pri = 3 (AC_VO); thus it's going out
whilst the queued hardware frames in the other pri (eg AC=0/TID=0) are also
queued.
So the addba makes it out before the hardware queued frames before it.
The solution may be to somehow delaying queueing the ADDBA frame
until all the hardware-queued frames are sent.
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 Wed Jun 15 15:07:01 2011 (r223112)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Wed Jun 15 15:24:21 2011 (r223113)
@@ -957,6 +957,14 @@ ath_tx_start(struct ath_softc *sc, struc
if (is_ampdu_tx)
seqno = ath_tx_tid_seqno_assign(sc, ni, bf, m0);
+#if 0
+ /* Is ampdu pending? fetch the seqno and print it out */
+ if (is_ampdu_pending)
+ device_printf(sc->sc_dev,
+ "%s: tid %d: ampdu pending, seqno %d\n",
+ __func__, tid, M_SEQNO_GET(m0));
+#endif
+
/* This also sets up the DMA map */
r = ath_tx_normal_setup(sc, ni, bf, m0);
@@ -1021,7 +1029,9 @@ ath_tx_raw_start(struct ath_softc *sc, s
pktlen = m0->m_pkthdr.len - (hdrlen & 3) + IEEE80211_CRC_LEN;
/* Handle encryption twiddling if needed */
- if (! ath_tx_tag_crypto(sc, ni, m0, params->ibp_flags & IEEE80211_BPF_CRYPTO, 0, &hdrlen, &pktlen, &keyix)) {
+ if (! ath_tx_tag_crypto(sc, ni,
+ m0, params->ibp_flags & IEEE80211_BPF_CRYPTO, 0,
+ &hdrlen, &pktlen, &keyix)) {
ath_freetx(m0);
return EIO;
}
More information about the svn-src-user
mailing list