From owner-svn-src-all@FreeBSD.ORG Thu Aug 2 20:14:46 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 371A1106564A; Thu, 2 Aug 2012 20:14:46 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 226DE8FC16; Thu, 2 Aug 2012 20:14:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q72KEjA5021017; Thu, 2 Aug 2012 20:14:45 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q72KEjvA021015; Thu, 2 Aug 2012 20:14:45 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201208022014.q72KEjvA021015@svn.freebsd.org> From: Adrian Chadd Date: Thu, 2 Aug 2012 20:14:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238993 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2012 20:14:46 -0000 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__);