diff options
author | adrian <adrian@FreeBSD.org> | 2013-04-01 20:12:21 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2013-04-01 20:12:21 +0000 |
commit | 57bb44230bd391d708567671fee7841abbe3f25f (patch) | |
tree | 8dbb4419dd37b7df4ad8db16048d9c21169c8396 | |
parent | 883e8bd6090cb5fd70dcea8e32b462d09bcb1901 (diff) | |
download | FreeBSD-src-57bb44230bd391d708567671fee7841abbe3f25f.zip FreeBSD-src-57bb44230bd391d708567671fee7841abbe3f25f.tar.gz |
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.
-rw-r--r-- | sys/dev/ath/if_ath.c | 2 | ||||
-rw-r--r-- | sys/dev/ath/if_ath_tx.c | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index a52d645..2bdc797 100644 --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -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; } diff --git a/sys/dev/ath/if_ath_tx.c b/sys/dev/ath/if_ath_tx.c index 728c3f0..1c9e44d 100644 --- a/sys/dev/ath/if_ath_tx.c +++ b/sys/dev/ath/if_ath_tx.c @@ -312,7 +312,7 @@ ath_tx_dmasetup(struct ath_softc *sc, struct ath_buf *bf, struct mbuf *m0) 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, struct ath_buf *bf, struct mbuf *m0) * 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, struct ath_buf *bf, struct mbuf *m0) 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++; |