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