svn commit: r224924 - user/adrian/if_ath_tx/sys/dev/ath

Adrian Chadd adrian at FreeBSD.org
Wed Aug 17 03:04:03 UTC 2011


Author: adrian
Date: Wed Aug 17 03:04:02 2011
New Revision: 224924
URL: http://svn.freebsd.org/changeset/base/224924

Log:
  Break out the descriptor and rate control programming and place them in
  ath_tx_start().
  
  This means the descriptor setup should now be able to be delayed until
  packet scheduling to the hardware.

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	Wed Aug 17 02:01:37 2011	(r224923)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c	Wed Aug 17 03:04:02 2011	(r224924)
@@ -959,7 +959,6 @@ ath_tx_normal_setup(struct ath_softc *sc
 	} else
 		ctsrate = 0;
 
-
 	/*
 	 * Determine if a tx interrupt should be generated for
 	 * this descriptor.  We take a tx interrupt to reap
@@ -1052,16 +1051,6 @@ ath_tx_normal_setup(struct ath_softc *sc
 		ATH_NODE_UNLOCK(an);
         }
 
-	/*
-	 * Formulate first tx descriptor with tx controls.
-	 */
-	ath_tx_setds(sc, bf);
-
-	/*
-	 * Setup rate control series.
-	 */
-	ath_tx_set_ratectrl(sc, ni, bf);
-
 	return 0;
 }
 
@@ -1166,6 +1155,16 @@ ath_tx_start(struct ath_softc *sc, struc
 	/* At this point m0 could have changed! */
 	m0 = bf->bf_m;
 
+	/*
+	 * Formulate first tx descriptor with tx controls.
+	 */
+	ath_tx_setds(sc, bf);
+
+	/*
+	 * Setup rate control series.
+	 */
+	ath_tx_set_ratectrl(sc, ni, bf);
+
 	/* Fill in the details in the descriptor list */
 	ath_tx_chaindesclist(sc, bf);
 


More information about the svn-src-user mailing list