Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Aug 2012 20:14:45 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r238993 - head/sys/dev/ath
Message-ID:  <201208022014.q72KEjvA021015@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Thu Aug  2 20:14:45 2012
New Revision: 238993
URL: http://svn.freebsd.org/changeset/base/238993

Log:
  Fix an issue that crept in with the previous descriptor tidyup.
  
  When forming aggregates, the last descriptor was now not being
  correctly setup - instead, the "setuplasttxdesc" call was being
  handed the first descriptor in the last subframe, rather than the
  last descriptor in the last subframe.
  
  This showed up as "bad series0 hwrate" messages, as the final
  descriptor just didn't have any of the rate control information
  squirreled away.
  
  Tested:
  	* AR9280 STA -> 11n AP, iperf TCP

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

Modified: head/sys/dev/ath/if_ath_tx.c
==============================================================================
--- head/sys/dev/ath/if_ath_tx.c	Thu Aug  2 15:13:12 2012	(r238992)
+++ head/sys/dev/ath/if_ath_tx.c	Thu Aug  2 20:14:45 2012	(r238993)
@@ -515,9 +515,12 @@ ath_tx_setds_11n(struct ath_softc *sc, s
 
 	/*
 	 * Setup the last descriptor in the list.
-	 * bf_prev points to the last; bf is NULL here.
+	 *
+	 * bf_first->bf_lastds already points to it; the rate
+	 * control information needs to be squirreled away here
+	 * as well ans clearing the moreaggr/paddelim fields.
 	 */
-	ath_hal_setuplasttxdesc(sc->sc_ah, bf_prev->bf_desc,
+	ath_hal_setuplasttxdesc(sc->sc_ah, bf_first->bf_lastds,
 	    bf_first->bf_desc);
 
 	DPRINTF(sc, ATH_DEBUG_SW_TX_AGGR, "%s: end\n", __func__);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208022014.q72KEjvA021015>