diff options
author | wkoszek <wkoszek@FreeBSD.org> | 2008-06-09 21:51:48 +0000 |
---|---|---|
committer | wkoszek <wkoszek@FreeBSD.org> | 2008-06-09 21:51:48 +0000 |
commit | 5a286929e41642d75ff6b11b84f4adda4c3530d7 (patch) | |
tree | aeab229672d7df79144a2564b9540112f76b3c61 /sys | |
parent | e5ee486df29cc7801cfbb152bae558e19d23a960 (diff) | |
download | FreeBSD-src-5a286929e41642d75ff6b11b84f4adda4c3530d7.zip FreeBSD-src-5a286929e41642d75ff6b11b84f4adda4c3530d7.tar.gz |
Since we create a DMA tag "mtag" for TX map with bus_dmamap_create(),
we must synchronize such a map against "mtag" with bus_dmamap_sync(),
not the tag designated for RX map.
Fix it.
Approved by: cognet
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arm/at91/if_ate.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arm/at91/if_ate.c b/sys/arm/at91/if_ate.c index cb63076..d78882d 100644 --- a/sys/arm/at91/if_ate.c +++ b/sys/arm/at91/if_ate.c @@ -668,7 +668,7 @@ ate_intr(void *xsc) ATE_LOCK(sc); /* XXX TSR register should be cleared */ if (sc->sent_mbuf[0]) { - bus_dmamap_sync(sc->rxtag, sc->tx_map[0], + bus_dmamap_sync(sc->mtag, sc->tx_map[0], BUS_DMASYNC_POSTWRITE); m_freem(sc->sent_mbuf[0]); ifp->if_opackets++; @@ -676,7 +676,7 @@ ate_intr(void *xsc) } if (sc->sent_mbuf[1]) { if (RD4(sc, ETH_TSR) & ETH_TSR_IDLE) { - bus_dmamap_sync(sc->rxtag, sc->tx_map[1], + bus_dmamap_sync(sc->mtag, sc->tx_map[1], BUS_DMASYNC_POSTWRITE); m_freem(sc->sent_mbuf[1]); ifp->if_opackets++; |