svn commit: r250041 - head/sys/dev/ath

Adrian Chadd adrian at FreeBSD.org
Mon Apr 29 07:28:30 UTC 2013


Author: adrian
Date: Mon Apr 29 07:28:29 2013
New Revision: 250041
URL: http://svnweb.freebsd.org/changeset/base/250041

Log:
  Debugging changes!
  
  * That lock isn't actually held during reset - just the whole TX/RX path
    is paused.  So, remove the assertion.
  
  * Log the TX queue status - how many hardware frames are active in the
    MAC and whether the queue is active.

Modified:
  head/sys/dev/ath/if_ath.c

Modified: head/sys/dev/ath/if_ath.c
==============================================================================
--- head/sys/dev/ath/if_ath.c	Mon Apr 29 06:54:01 2013	(r250040)
+++ head/sys/dev/ath/if_ath.c	Mon Apr 29 07:28:29 2013	(r250041)
@@ -4466,10 +4466,12 @@ ath_tx_stopdma(struct ath_softc *sc, str
 	struct ath_hal *ah = sc->sc_ah;
 
 	DPRINTF(sc, ATH_DEBUG_RESET,
-	    "%s: tx queue [%u] %p, flags 0x%08x, link %p\n",
+	    "%s: tx queue [%u] %p, active=%d, hwpending=%d, flags 0x%08x, link %p\n",
 	    __func__,
 	    txq->axq_qnum,
 	    (caddr_t)(uintptr_t) ath_hal_gettxbuf(ah, txq->axq_qnum),
+	    (int) (!! ath_hal_txqenabled(ah, txq->axq_qnum)),
+	    (int) ath_hal_numtxpending(ah, txq->axq_qnum),
 	    txq->axq_flags,
 	    txq->axq_link);
 	(void) ath_hal_stoptxdma(ah, txq->axq_qnum);
@@ -4511,8 +4513,6 @@ ath_tx_dump(struct ath_softc *sc, struct
 	if (! (sc->sc_debug & ATH_DEBUG_RESET))
 		return;
 
-	ATH_TX_LOCK_ASSERT(sc);
-
 	device_printf(sc->sc_dev, "%s: Q%d: begin\n",
 	    __func__, txq->axq_qnum);
 	TAILQ_FOREACH(bf, &txq->axq_q, bf_list) {


More information about the svn-src-head mailing list