diff options
author | yongari <yongari@FreeBSD.org> | 2011-04-01 18:53:41 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2011-04-01 18:53:41 +0000 |
commit | bdc9b0411299e85fe347c1d379f42324e8c7177f (patch) | |
tree | e155efe6bb3f6d6bcf6682562fd30666425ff523 /sys/dev/age | |
parent | 47692eab3cde195383bbb502e46b1f8dce0f5508 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/dev/age/if_age.c | 7 |
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); } |