diff options
author | yongari <yongari@FreeBSD.org> | 2010-09-02 00:44:05 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2010-09-02 00:44:05 +0000 |
commit | 1fcf36ca197dd4d8e333d8fab7261613651c2cf2 (patch) | |
tree | 6cd88f4f40e34cf23bff91eeba9d1112b33f9574 | |
parent | 30b194f17b94c8deebc3f66b9d22a28e3a6f6b1a (diff) | |
download | FreeBSD-src-1fcf36ca197dd4d8e333d8fab7261613651c2cf2.zip FreeBSD-src-1fcf36ca197dd4d8e333d8fab7261613651c2cf2.tar.gz |
Fix stupid error in r212109 which didn't swap DMA maps. This caused
IOMMU panic on sparc64 under high TX load.
-rw-r--r-- | sys/dev/sis/if_sis.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/sis/if_sis.c b/sys/dev/sis/if_sis.c index 8886617..46d7b1f 100644 --- a/sys/dev/sis/if_sis.c +++ b/sys/dev/sis/if_sis.c @@ -1883,8 +1883,8 @@ sis_encap(struct sis_softc *sc, struct mbuf **m_head) /* Swap the last and the first dmamaps. */ map = txd->tx_dmamap; - txd->tx_dmamap = sc->sis_txdesc[frag].tx_dmamap; - sc->sis_txdesc[frag].tx_dmamap = map; + txd->tx_dmamap = sc->sis_txdesc[prod].tx_dmamap; + sc->sis_txdesc[prod].tx_dmamap = map; txd->tx_m = *m_head; return (0); |