From owner-svn-src-head@FreeBSD.ORG Mon Apr 1 20:12:22 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id CC4EBEB4; Mon, 1 Apr 2013 20:12:22 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A69DDE00; Mon, 1 Apr 2013 20:12:22 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r31KCM6n096091; Mon, 1 Apr 2013 20:12:22 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r31KCMn3096089; Mon, 1 Apr 2013 20:12:22 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201304012012.r31KCMn3096089@svn.freebsd.org> From: Adrian Chadd Date: Mon, 1 Apr 2013 20:12:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248985 - head/sys/dev/ath X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Apr 2013 20:12:22 -0000 Author: adrian Date: Mon Apr 1 20:12:21 2013 New Revision: 248985 URL: http://svnweb.freebsd.org/changeset/base/248985 Log: Use ATH_MAX_SCATTER rather than ATH_TXDESC. ATH_MAX_SCATTER is used to size the ath_buf DMA segment array. We thus should use it when checking sizes of things. Modified: head/sys/dev/ath/if_ath.c head/sys/dev/ath/if_ath_tx.c Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Mon Apr 1 20:11:19 2013 (r248984) +++ head/sys/dev/ath/if_ath.c Mon Apr 1 20:12:21 2013 (r248985) @@ -3276,7 +3276,7 @@ ath_desc_alloc(struct ath_softc *sc) int error; error = ath_descdma_setup(sc, &sc->sc_txdma, &sc->sc_txbuf, - "tx", sc->sc_tx_desclen, ath_txbuf, ATH_TXDESC); + "tx", sc->sc_tx_desclen, ath_txbuf, ATH_MAX_SCATTER); if (error != 0) { return error; } Modified: head/sys/dev/ath/if_ath_tx.c ============================================================================== --- head/sys/dev/ath/if_ath_tx.c Mon Apr 1 20:11:19 2013 (r248984) +++ head/sys/dev/ath/if_ath_tx.c Mon Apr 1 20:12:21 2013 (r248985) @@ -312,7 +312,7 @@ ath_tx_dmasetup(struct ath_softc *sc, st BUS_DMA_NOWAIT); if (error == EFBIG) { /* XXX packet requires too many descriptors */ - bf->bf_nseg = ATH_TXDESC+1; + bf->bf_nseg = ATH_MAX_SCATTER + 1; } else if (error != 0) { sc->sc_stats.ast_tx_busdma++; ath_freetx(m0); @@ -323,9 +323,9 @@ ath_tx_dmasetup(struct ath_softc *sc, st * require too many TX descriptors. We try to convert * the latter to a cluster. */ - if (bf->bf_nseg > ATH_TXDESC) { /* too many desc's, linearize */ + if (bf->bf_nseg > ATH_MAX_SCATTER) { /* too many desc's, linearize */ sc->sc_stats.ast_tx_linear++; - m = m_collapse(m0, M_NOWAIT, ATH_TXDESC); + m = m_collapse(m0, M_NOWAIT, ATH_MAX_SCATTER); if (m == NULL) { ath_freetx(m0); sc->sc_stats.ast_tx_nombuf++; @@ -340,7 +340,7 @@ ath_tx_dmasetup(struct ath_softc *sc, st ath_freetx(m0); return error; } - KASSERT(bf->bf_nseg <= ATH_TXDESC, + KASSERT(bf->bf_nseg <= ATH_MAX_SCATTER, ("too many segments after defrag; nseg %u", bf->bf_nseg)); } else if (bf->bf_nseg == 0) { /* null packet, discard */ sc->sc_stats.ast_tx_nodata++;