aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorPaul Saab <ps@FreeBSD.org>2003-05-04 00:07:21 +0000
committerPaul Saab <ps@FreeBSD.org>2003-05-04 00:07:21 +0000
commit3927098f93ea42816a3c7887d468190e5f94d863 (patch)
treeac7f80d5a3927637024ee979967015f43a86139c /sys/dev
parent9bf327a70c9819ece273fe950a89d606a2db0fc8 (diff)
Notes
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/bge/if_bge.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c
index d7888fead6320..0d0c7acb6e051 100644
--- a/sys/dev/bge/if_bge.c
+++ b/sys/dev/bge/if_bge.c
@@ -934,8 +934,16 @@ bge_init_tx_ring(sc)
{
sc->bge_txcnt = 0;
sc->bge_tx_saved_considx = 0;
+
CSR_WRITE_4(sc, BGE_MBX_TX_HOST_PROD0_LO, 0);
+ /* 5700 b2 errata */
+ if (BGE_ASICREV(sc->bge_asicrev) == BGE_ASICREV_BCM5700)
+ CSR_WRITE_4(sc, BGE_MBX_TX_HOST_PROD0_LO, 0);
+
CSR_WRITE_4(sc, BGE_MBX_TX_NIC_PROD0_LO, 0);
+ /* 5700 b2 errata */
+ if (BGE_ASICREV(sc->bge_asicrev) == BGE_ASICREV_BCM5700)
+ CSR_WRITE_4(sc, BGE_MBX_TX_NIC_PROD0_LO, 0);
return(0);
}
@@ -2344,6 +2352,9 @@ bge_start(ifp)
/* Transmit */
CSR_WRITE_4(sc, BGE_MBX_TX_HOST_PROD0_LO, prodidx);
+ /* 5700 b2 errata */
+ if (BGE_ASICREV(sc->bge_asicrev) == BGE_ASICREV_BCM5700)
+ CSR_WRITE_4(sc, BGE_MBX_TX_HOST_PROD0_LO, prodidx);
/*
* Set a timeout in case the chip goes out to lunch.