From a7b0c314807b7f67f7bb35745b008b1e187ee65c Mon Sep 17 00:00:00 2001 From: Paul Saab Date: Tue, 6 Apr 2004 18:28:15 +0000 Subject: [PATCH] Enable the memory arbiter before turning off the PXE restart. This prevents NMI's from happening when resetting the chip on some hardware I have seen. Mis-behaving box made available by: John Cagle --- sys/dev/bge/if_bge.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c index f16414b6e2a8..d4ab27c91081 100644 --- a/sys/dev/bge/if_bge.c +++ b/sys/dev/bge/if_bge.c @@ -2553,6 +2553,10 @@ bge_reset(sc) pci_write_config(dev, BGE_PCI_CMD, command, 4); bge_writereg_ind(sc, BGE_MISC_CFG, (65 << 1)); + /* Enable memory arbiter. */ + if (sc->bge_asicrev != BGE_ASICREV_BCM5705) + CSR_WRITE_4(sc, BGE_MARB_MODE, BGE_MARBMODE_ENABLE); + /* * Prevent PXE restart: write a magic number to the * general communications memory at 0xB50. @@ -2590,10 +2594,6 @@ bge_reset(sc) DELAY(10); } - /* Enable memory arbiter. */ - if (sc->bge_asicrev != BGE_ASICREV_BCM5705) - CSR_WRITE_4(sc, BGE_MARB_MODE, BGE_MARBMODE_ENABLE); - /* Fix up byte swapping */ CSR_WRITE_4(sc, BGE_MODE_CTL, BGE_MODECTL_BYTESWAP_NONFRAME| BGE_MODECTL_BYTESWAP_DATA);