svn commit: r298611 - head/sys/dev/iwm

Adrian Chadd adrian at FreeBSD.org
Tue Apr 26 03:24:30 UTC 2016


Author: adrian
Date: Tue Apr 26 03:24:28 2016
New Revision: 298611
URL: https://svnweb.freebsd.org/changeset/base/298611

Log:
  [iwm] add extra transmit setup/completion logging so I can see what's going on.
  
  I'm seeing 5GHz association work but data not work until the rate drops,
  so I need way more information about what's being programmed into the
  transmit descriptors.
  
  Tested:
  
  * 7260AC, STA mode

Modified:
  head/sys/dev/iwm/if_iwm.c

Modified: head/sys/dev/iwm/if_iwm.c
==============================================================================
--- head/sys/dev/iwm/if_iwm.c	Tue Apr 26 01:52:35 2016	(r298610)
+++ head/sys/dev/iwm/if_iwm.c	Tue Apr 26 03:24:28 2016	(r298611)
@@ -2410,6 +2410,17 @@ iwm_mvm_rx_tx_cmd_single(struct iwm_soft
 	KASSERT(tx_resp->frame_count == 1, ("too many frames"));
 
 	/* Update rate control statistics. */
+	IWM_DPRINTF(sc, IWM_DEBUG_XMIT, "%s: status=0x%04x, seq=%d, fc=%d, btc=%d, frts=%d, ff=%d, irate=%08x, wmt=%d\n",
+	    __func__,
+	    (int) le16toh(tx_resp->status.status),
+	    (int) le16toh(tx_resp->status.sequence),
+	    tx_resp->frame_count,
+	    tx_resp->bt_kill_count,
+	    tx_resp->failure_rts,
+	    tx_resp->failure_frame,
+	    le32toh(tx_resp->initial_rate),
+	    (int) le16toh(tx_resp->wireless_media_time));
+
 	if (status != IWM_TX_STATUS_SUCCESS &&
 	    status != IWM_TX_STATUS_DIRECT_DONE) {
 		ieee80211_ratectl_tx_complete(vap, ni,
@@ -2802,8 +2813,12 @@ iwm_tx(struct iwm_softc *sc, struct mbuf
 	KASSERT(data->in != NULL, ("node is NULL"));
 
 	IWM_DPRINTF(sc, IWM_DEBUG_XMIT,
-	    "sending data: qid=%d idx=%d len=%d nsegs=%d\n",
-	    ring->qid, ring->cur, totlen, nsegs);
+	    "sending data: qid=%d idx=%d len=%d nsegs=%d txflags=0x%08x rate_n_flags=0x%08x rateidx=%d\n",
+	    ring->qid, ring->cur, totlen, nsegs,
+	    le32toh(tx->tx_flags),
+	    le32toh(tx->rate_n_flags),
+	    (int) tx->initial_rate_index
+	    );
 
 	/* Fill TX descriptor. */
 	desc->num_tbs = 2 + nsegs;


More information about the svn-src-all mailing list