Author: adrian
Date: Mon Sep 24 19:48:41 2012
New Revision: 240895
URL: http://svn.freebsd.org/changeset/base/240895

Log:
  Debugging output fixes:
  
  * use the correct frame status - although the completion descriptor is
    the _last_ in the frame/aggregate, the status is currently stored in
    the _first_ buffer.
  
  * Print out ath_buf specific fields once, not per descriptor in an ath_buf.

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

Modified: head/sys/dev/ath/if_ath_debug.c
==============================================================================
--- head/sys/dev/ath/if_ath_debug.c     Mon Sep 24 19:32:24 2012        
(r240894)
+++ head/sys/dev/ath/if_ath_debug.c     Mon Sep 24 19:48:41 2012        
(r240895)
@@ -198,7 +198,7 @@ static void
 ath_printtxbuf_legacy(struct ath_softc *sc, const struct ath_buf *first_bf,
        u_int qnum, u_int ix, int done)
 {
-       const struct ath_tx_status *ts = 
&first_bf->bf_last->bf_status.ds_txstat;
+       const struct ath_tx_status *ts = &first_bf->bf_status.ds_txstat;
        const struct ath_buf *bf = first_bf;
        struct ath_hal *ah = sc->sc_ah;
        const struct ath_desc *ds;
@@ -206,16 +206,17 @@ ath_printtxbuf_legacy(struct ath_softc *
 
        printf("Q%u[%3u]", qnum, ix);
        while (bf != NULL) {
+               printf("    (bf=%p, lastds=%p)\n", bf, first_bf->bf_lastds);
+               printf("        Seq: %d swtry: %d ADDBAW?: %d DOBAW?: %d\n",
+                   bf->bf_state.bfs_seqno,
+                   bf->bf_state.bfs_retries,
+                   bf->bf_state.bfs_addedbaw,
+                   bf->bf_state.bfs_dobaw);
                for (i = 0, ds = bf->bf_desc; i < bf->bf_nseg; i++, ds++) {
                        printf(" (DS.V:%p DS.P:%p) L:%08x D:%08x F:%04x%s\n",
                            ds, (const struct ath_desc *)bf->bf_daddr + i,
                            ds->ds_link, ds->ds_data, bf->bf_state.bfs_txflags,
                            !done ? "" : (ts->ts_status == 0) ? " *" : " !");
-                       printf("        Seq: %d swtry: %d ADDBAW?: %d DOBAW?: 
%d\n",
-                           bf->bf_state.bfs_seqno,
-                           bf->bf_state.bfs_retries,
-                           bf->bf_state.bfs_addedbaw,
-                           bf->bf_state.bfs_dobaw);
                        printf("        %08x %08x %08x %08x %08x %08x\n",
                            ds->ds_ctl0, ds->ds_ctl1,
                            ds->ds_hw[0], ds->ds_hw[1],
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to