Does the diff below help?
Index: if_sis.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_sis.c,v
retrieving revision 1.101
diff -u -p -r1.101 if_sis.c
--- if_sis.c 31 Aug 2010 17:13:44 -0000 1.101
+++ if_sis.c 14 Feb 2011 12:30:32 -0000
@@ -1272,6 +1272,11 @@ sis_newbuf(struct sis_softc *sc, struct
c->sis_mbuf = m_new;
c->sis_ptr = htole32(c->map->dm_segs[0].ds_addr);
+
+ bus_dmamap_sync(sc->sc_dmat, sc->sc_listmap,
+ ((caddr_t)c - sc->sc_listkva), sizeof(struct sis_desc),
+ BUS_DMASYNC_PREWRITE);
+
c->sis_ctl = htole32(ETHER_MAX_DIX_LEN);
bus_dmamap_sync(sc->sc_dmat, sc->sc_listmap,