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,

Reply via email to