summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Wright <jason@cvs.openbsd.org>2002-07-31 16:58:21 +0000
committerJason Wright <jason@cvs.openbsd.org>2002-07-31 16:58:21 +0000
commit435f17a0a5d80e1a5dbe4bb34f25b0a393864999 (patch)
tree093d226fc1977acb1e0c02a5095c701a68b8f925
parent6fdc7170644278ee3ea2a8d10ab68bdab2a9bba0 (diff)
aaron: sync THEN access =)
-rw-r--r--sys/dev/pci/if_sis.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/dev/pci/if_sis.c b/sys/dev/pci/if_sis.c
index 78c1daa499f..abab8794068 100644
--- a/sys/dev/pci/if_sis.c
+++ b/sys/dev/pci/if_sis.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_sis.c,v 1.26 2002/07/05 13:48:11 aaron Exp $ */
+/* $OpenBSD: if_sis.c,v 1.27 2002/07/31 16:58:20 jason Exp $ */
/*
* Copyright (c) 1997, 1998, 1999
* Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
@@ -1081,16 +1081,17 @@ void sis_rxeof(sc)
while(SIS_OWNDESC(&sc->sis_ldata->sis_rx_list[i])) {
cur_rx = &sc->sis_ldata->sis_rx_list[i];
+ bus_dmamap_sync(sc->sc_dmat, sc->sc_listmap,
+ ((caddr_t)cur_rx - sc->sc_listkva),
+ sizeof(struct sis_desc),
+ BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE);
+
rxstat = cur_rx->sis_rxstat;
m = cur_rx->sis_mbuf;
cur_rx->sis_mbuf = NULL;
total_len = SIS_RXBYTES(cur_rx);
SIS_INC(i, SIS_RX_LIST_CNT);
- bus_dmamap_sync(sc->sc_dmat, sc->sc_listmap,
- ((caddr_t)cur_rx - sc->sc_listkva),
- sizeof(struct sis_desc),
- BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE);
/*
* If an error occurs, update stats, clear the