summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2012-03-22 21:48:36 +0000
committeradrian <adrian@FreeBSD.org>2012-03-22 21:48:36 +0000
commit0167a18d8fe1c006d52f2ec08f64dae120bf4792 (patch)
tree555539c85c0dd3e69a8782eca1a38ad5d37203bf
parenta791b92eab108062b1a36b8aa52b7b41ac09e427 (diff)
downloadFreeBSD-src-0167a18d8fe1c006d52f2ec08f64dae120bf4792.zip
FreeBSD-src-0167a18d8fe1c006d52f2ec08f64dae120bf4792.tar.gz
Add some further debugging to try and aid tracking down what the state of
things were just before a full software queue is drained.
-rw-r--r--sys/dev/ath/if_ath_tx.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/dev/ath/if_ath_tx.c b/sys/dev/ath/if_ath_tx.c
index 4a1aa10..6944371 100644
--- a/sys/dev/ath/if_ath_tx.c
+++ b/sys/dev/ath/if_ath_tx.c
@@ -663,6 +663,15 @@ ath_tx_tag_crypto(struct ath_softc *sc, struct ieee80211_node *ni,
struct mbuf *m0, int iswep, int isfrag, int *hdrlen, int *pktlen,
int *keyix)
{
+ DPRINTF(sc, ATH_DEBUG_XMIT,
+ "%s: hdrlen=%d, pktlen=%d, isfrag=%d, iswep=%d, m0=%p\n",
+ __func__,
+ *hdrlen,
+ *pktlen,
+ isfrag,
+ iswep,
+ m0);
+
if (iswep) {
const struct ieee80211_cipher *cip;
struct ieee80211_key *k;
@@ -1473,6 +1482,7 @@ ath_tx_start(struct ath_softc *sc, struct ieee80211_node *ni,
/* No AMPDU TX, we've been assigned a sequence number. */
if (IEEE80211_QOS_HAS_SEQ(wh)) {
bf->bf_state.bfs_seqno_assigned = 1;
+ /* XXX we should store the frag+seqno in bfs_seqno */
bf->bf_state.bfs_seqno =
M_SEQNO_GET(m0) << IEEE80211_SEQ_SEQ_SHIFT;
}
@@ -2636,6 +2646,15 @@ ath_tx_tid_drain(struct ath_softc *sc, struct ath_node *an,
if (t == 0) {
device_printf(sc->sc_dev,
+ "%s: node %p: bf=%p: addbaw=%d, dobaw=%d, "
+ "seqno_assign=%d, seqno_required=%d, seqno=%d\n",
+ __func__, ni, bf,
+ bf->bf_state.bfs_addedbaw,
+ bf->bf_state.bfs_dobaw,
+ bf->bf_state.bfs_need_seqno,
+ bf->bf_state.bfs_seqno_assigned,
+ SEQNO(bf->bf_state.bfs_seqno));
+ device_printf(sc->sc_dev,
"%s: node %p: bf=%p: tid %d: txq_depth=%d, "
"txq_aggr_depth=%d, sched=%d, paused=%d, "
"hwq_depth=%d, incomp=%d, baw_head=%d, "
OpenPOWER on IntegriCloud