svn commit: r225647 - user/adrian/if_ath_tx/sys/dev/ath
Adrian Chadd
adrian at FreeBSD.org
Sun Sep 18 09:05:43 UTC 2011
Author: adrian
Date: Sun Sep 18 09:05:42 2011
New Revision: 225647
URL: http://svn.freebsd.org/changeset/base/225647
Log:
Enable printf's where a BAR frame _would_ be TXed.
I'm doing this so I (and testers) can keep track of when BAR's
should be TXed. This way if traffic pauses are seen that coincide
with this BAR message, we can (hopefully!) assume that a BAR frame
exchange would've flushed things correctly.
This also will let me implement/debug the "correct" sending of BAR
frames - ie, sending them when the TID has been emptied rather than
on each failed software retry attempt. That could get slightly spammy.
There's a few places where BAR frames should likely be TX'ed,
specifically when a TID flush is done (and the node isn't being
deleted.) But that'll come in the next phase of work.
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 Sun Sep 18 08:26:57 2011 (r225646)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Sun Sep 18 09:05:42 2011 (r225647)
@@ -2694,9 +2694,10 @@ ath_tx_aggr_retry_unaggr(struct ath_soft
* This'll end up going into net80211 and back out
* again, via ic->ic_raw_xmit().
*/
+ device_printf(sc->sc_dev,
+ "%s: TID %d: send BAR; seq %d\n",
+ __func__, tid, ni->ni_txseqs[tid]);
#if 0
- DPRINTF(sc, ATH_DEBUG_SW_TX_CTRL, "%s: TID %d: send BAR\n",
- __func__, tid);
if (ieee80211_send_bar(ni, tap, ni->ni_txseqs[tid]) == 0) {
/*
* Pause the TID if this was successful.
@@ -2844,11 +2845,15 @@ ath_tx_comp_aggr_error(struct ath_softc
bf = bf_next;
}
-#if 0
/*
* send bar if we dropped any frames
*/
if (drops) {
+ device_printf(sc->sc_dev,
+ "%s: TID %d: send BAR; seq %d\n",
+ __func__, tid->tid,
+ ni->ni_txseqs[tid->tid]);
+#if 0
if (ieee80211_send_bar(ni, tap, ni->ni_txseqs[tid->tid]) == 0) {
/*
* Pause the TID if this was successful.
@@ -2862,8 +2867,8 @@ ath_tx_comp_aggr_error(struct ath_softc
"%s: TID %d: BAR TX failed\n",
__func__, tid->tid);
}
- }
#endif
+ }
/* Prepend all frames to the beginning of the queue */
while ((bf = TAILQ_LAST(&bf_q, ath_bufhead_s)) != NULL) {
More information about the svn-src-user
mailing list