svn commit: r197098 - in stable/7/sys: . contrib/pf dev/txp
Pyun YongHyeon
yongari at FreeBSD.org
Fri Sep 11 17:25:25 UTC 2009
Author: yongari
Date: Fri Sep 11 17:25:24 2009
New Revision: 197098
URL: http://svn.freebsd.org/changeset/base/197098
Log:
MFC r196721:
Make sure rx descriptor ring align on 16 bytes. I guess the
alignment requirement could be multiple of 4 bytes but I think
using descriptor size would make intention clearer.
Previously the size of rx descriptor was not power of 2 so it
caused panic in bus_dmamem_alloc(9).
Reported by: Jeff Blank (jb000003 <> mr-happy dot com)
Modified:
stable/7/sys/ (props changed)
stable/7/sys/contrib/pf/ (props changed)
stable/7/sys/dev/txp/if_txp.c
Modified: stable/7/sys/dev/txp/if_txp.c
==============================================================================
--- stable/7/sys/dev/txp/if_txp.c Fri Sep 11 17:20:11 2009 (r197097)
+++ stable/7/sys/dev/txp/if_txp.c Fri Sep 11 17:25:24 2009 (r197098)
@@ -1389,7 +1389,8 @@ txp_alloc_rings(struct txp_softc *sc)
/* High priority rx ring. */
error = txp_dma_alloc(sc, "hi priority rx ring",
- &sc->sc_cdata.txp_rxhiring_tag, sizeof(struct txp_rx_desc), 0,
+ &sc->sc_cdata.txp_rxhiring_tag,
+ roundup(sizeof(struct txp_rx_desc), 16), 0,
&sc->sc_cdata.txp_rxhiring_map, (void **)&sc->sc_ldata.txp_rxhiring,
sizeof(struct txp_rx_desc) * RX_ENTRIES,
&sc->sc_ldata.txp_rxhiring_paddr);
@@ -1409,7 +1410,8 @@ txp_alloc_rings(struct txp_softc *sc)
/* Low priority rx ring. */
error = txp_dma_alloc(sc, "low priority rx ring",
- &sc->sc_cdata.txp_rxloring_tag, sizeof(struct txp_rx_desc), 0,
+ &sc->sc_cdata.txp_rxloring_tag,
+ roundup(sizeof(struct txp_rx_desc), 16), 0,
&sc->sc_cdata.txp_rxloring_map, (void **)&sc->sc_ldata.txp_rxloring,
sizeof(struct txp_rx_desc) * RX_ENTRIES,
&sc->sc_ldata.txp_rxloring_paddr);
More information about the svn-src-stable-7
mailing list