summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/vr/if_vr.c7
-rw-r--r--sys/pci/if_vr.c7
2 files changed, 14 insertions, 0 deletions
diff --git a/sys/dev/vr/if_vr.c b/sys/dev/vr/if_vr.c
index 9c6591b..2d14680 100644
--- a/sys/dev/vr/if_vr.c
+++ b/sys/dev/vr/if_vr.c
@@ -1388,6 +1388,7 @@ static void vr_init(xsc)
struct vr_softc *sc = xsc;
struct ifnet *ifp = &sc->arpcom.ac_if;
struct mii_data *mii;
+ int i;
VR_LOCK(sc);
@@ -1399,6 +1400,12 @@ static void vr_init(xsc)
vr_stop(sc);
vr_reset(sc);
+ /*
+ * Set our station address.
+ */
+ for (i = 0; i < ETHER_ADDR_LEN; i++)
+ CSR_WRITE_1(sc, VR_PAR0 + i, sc->arpcom.ac_enaddr[i]);
+
VR_CLRBIT(sc, VR_RXCFG, VR_RXCFG_RX_THRESH);
VR_SETBIT(sc, VR_RXCFG, VR_RXTHRESH_STORENFWD);
diff --git a/sys/pci/if_vr.c b/sys/pci/if_vr.c
index 9c6591b..2d14680 100644
--- a/sys/pci/if_vr.c
+++ b/sys/pci/if_vr.c
@@ -1388,6 +1388,7 @@ static void vr_init(xsc)
struct vr_softc *sc = xsc;
struct ifnet *ifp = &sc->arpcom.ac_if;
struct mii_data *mii;
+ int i;
VR_LOCK(sc);
@@ -1399,6 +1400,12 @@ static void vr_init(xsc)
vr_stop(sc);
vr_reset(sc);
+ /*
+ * Set our station address.
+ */
+ for (i = 0; i < ETHER_ADDR_LEN; i++)
+ CSR_WRITE_1(sc, VR_PAR0 + i, sc->arpcom.ac_enaddr[i]);
+
VR_CLRBIT(sc, VR_RXCFG, VR_RXCFG_RX_THRESH);
VR_SETBIT(sc, VR_RXCFG, VR_RXTHRESH_STORENFWD);
OpenPOWER on IntegriCloud