summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2010-10-12 19:22:03 +0000
committeryongari <yongari@FreeBSD.org>2010-10-12 19:22:03 +0000
commit66939df7fe0f3717fb0fff8dc5008af14c1499e7 (patch)
treec386616a1cd3c0d739d3e38c5a6af5e239dbfc17
parent0fa5c9c68d92a9989313393f3679f0599d39f80c (diff)
downloadFreeBSD-src-66939df7fe0f3717fb0fff8dc5008af14c1499e7.zip
FreeBSD-src-66939df7fe0f3717fb0fff8dc5008af14c1499e7.tar.gz
Fix a regression introduced in r213495. r213495 disabled mini
receive producer ring only for BCM5700. It was believed that BCM5700 with external SSRAM is the only controller that supports mini ring but it seems all BCM570[0-4] requires to disable mini receive producer ring. Otherwise, it caused unexpected RX DMA error or watchdog timeouts. Reported by: marius, Steve Kargl <sgk <> troutmask dot apl dot washington dot edu> Tested by: marius, Steve Kargl <sgk <> troutmask dot apl dot washington dot edu>
-rw-r--r--sys/dev/bge/if_bge.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c
index a439ad3..5ced81f 100644
--- a/sys/dev/bge/if_bge.c
+++ b/sys/dev/bge/if_bge.c
@@ -1655,7 +1655,7 @@ bge_blockinit(struct bge_softc *sc)
}
/* Disable the mini receive producer ring RCB. */
- if (sc->bge_asicrev == BGE_ASICREV_BCM5700) {
+ if (BGE_IS_5700_FAMILY(sc)) {
rcb = &sc->bge_ldata.bge_info.bge_mini_rx_rcb;
rcb->bge_maxlen_flags =
BGE_RCB_MAXLEN_FLAGS(0, BGE_RCB_FLAG_RING_DISABLED);
OpenPOWER on IntegriCloud