Author: yongari
Date: Tue Jul  6 18:17:31 2010
New Revision: 209741
URL: http://svn.freebsd.org/changeset/base/209741

Log:
  Zero entire status block and add missing bus_dmamap_sync(9).

Modified:
  head/sys/dev/bge/if_bge.c

Modified: head/sys/dev/bge/if_bge.c
==============================================================================
--- head/sys/dev/bge/if_bge.c   Tue Jul  6 18:08:55 2010        (r209740)
+++ head/sys/dev/bge/if_bge.c   Tue Jul  6 18:17:31 2010        (r209741)
@@ -1760,15 +1760,19 @@ bge_blockinit(struct bge_softc *sc)
            BGE_ADDR_HI(sc->bge_ldata.bge_status_block_paddr));
        CSR_WRITE_4(sc, BGE_HCC_STATUSBLK_ADDR_LO,
            BGE_ADDR_LO(sc->bge_ldata.bge_status_block_paddr));
-       sc->bge_ldata.bge_status_block->bge_idx[0].bge_rx_prod_idx = 0;
-       sc->bge_ldata.bge_status_block->bge_idx[0].bge_tx_cons_idx = 0;
 
        /* Set up status block size. */
        if (sc->bge_asicrev == BGE_ASICREV_BCM5700 &&
-           sc->bge_chipid != BGE_CHIPID_BCM5700_C0)
+           sc->bge_chipid != BGE_CHIPID_BCM5700_C0) {
                val = BGE_STATBLKSZ_FULL;
-       else
+               bzero(sc->bge_ldata.bge_status_block, BGE_STATUS_BLK_SZ);
+       } else {
                val = BGE_STATBLKSZ_32BYTE;
+               bzero(sc->bge_ldata.bge_status_block, 32);
+       }
+       bus_dmamap_sync(sc->bge_cdata.bge_status_tag,
+           sc->bge_cdata.bge_status_map,
+           BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
 
        /* Turn on host coalescing state machine */
        CSR_WRITE_4(sc, BGE_HCC_MODE, val | BGE_HCCMODE_ENABLE);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to