diff --git a/sys/dev/vr/if_vr.c b/sys/dev/vr/if_vr.c index 9c6591bfaa97..2d1468024c27 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 9c6591bfaa97..2d1468024c27 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);