summaryrefslogtreecommitdiffstats
path: root/sys/dev/age/if_age.c
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2011-04-01 18:53:41 +0000
committeryongari <yongari@FreeBSD.org>2011-04-01 18:53:41 +0000
commitbdc9b0411299e85fe347c1d379f42324e8c7177f (patch)
treee155efe6bb3f6d6bcf6682562fd30666425ff523 /sys/dev/age/if_age.c
parent47692eab3cde195383bbb502e46b1f8dce0f5508 (diff)
downloadFreeBSD-src-bdc9b0411299e85fe347c1d379f42324e8c7177f.zip
FreeBSD-src-bdc9b0411299e85fe347c1d379f42324e8c7177f.tar.gz
Partially revert r184106. RX buffer ring also needs bus_dmamap_sync().
Tested by: Yamagi Burmeister (lists <> yamagi dot org) MFC after: 1 week
Diffstat (limited to 'sys/dev/age/if_age.c')
-rw-r--r--sys/dev/age/if_age.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/age/if_age.c b/sys/dev/age/if_age.c
index c3e95be..0735ca9 100644
--- a/sys/dev/age/if_age.c
+++ b/sys/dev/age/if_age.c
@@ -2424,6 +2424,8 @@ age_rxintr(struct age_softc *sc, int rr_prod, int count)
bus_dmamap_sync(sc->age_cdata.age_rr_ring_tag,
sc->age_cdata.age_rr_ring_map,
BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE);
+ bus_dmamap_sync(sc->age_cdata.age_rx_ring_tag,
+ sc->age_cdata.age_rx_ring_map, BUS_DMASYNC_POSTWRITE);
for (prog = 0; rr_cons != rr_prod; prog++) {
if (count <= 0)
@@ -2455,6 +2457,8 @@ age_rxintr(struct age_softc *sc, int rr_prod, int count)
/* Update the consumer index. */
sc->age_cdata.age_rr_cons = rr_cons;
+ bus_dmamap_sync(sc->age_cdata.age_rx_ring_tag,
+ sc->age_cdata.age_rx_ring_map, BUS_DMASYNC_PREWRITE);
/* Sync descriptors. */
bus_dmamap_sync(sc->age_cdata.age_rr_ring_tag,
sc->age_cdata.age_rr_ring_map,
@@ -2981,8 +2985,7 @@ age_init_rx_ring(struct age_softc *sc)
}
bus_dmamap_sync(sc->age_cdata.age_rx_ring_tag,
- sc->age_cdata.age_rx_ring_map,
- BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
+ sc->age_cdata.age_rx_ring_map, BUS_DMASYNC_PREWRITE);
return (0);
}
OpenPOWER on IntegriCloud