After the fxp split, sizeof(enaddr) is now 4, not 6, since enaddr is a pointer
authoraaron <aaron@openbsd.org>
Wed, 26 Apr 2000 12:48:53 +0000 (12:48 +0000)
committeraaron <aaron@openbsd.org>
Wed, 26 Apr 2000 12:48:53 +0000 (12:48 +0000)
that's passed in from the bus-dependent parts. Use ETHER_ADDR_LEN so we get the
whole thing; sigh@kuzirabekon.econ.nagasaki-u.ac.jp

sys/dev/ic/fxp.c

index a5adc1d..e747d5f 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: fxp.c,v 1.1 2000/04/18 18:44:26 jason Exp $   */
+/*     $OpenBSD: fxp.c,v 1.2 2000/04/26 12:48:53 aaron Exp $   */
 /*     $NetBSD: if_fxp.c,v 1.2 1997/06/05 02:01:55 thorpej Exp $       */
 
 /*
@@ -412,7 +412,7 @@ fxp_attach_common(sc, enaddr, intrstr)
        fxp_read_eeprom(sc, (u_int16_t *)enaddr, 0, 3);
 
        ifp = &sc->arpcom.ac_if;
-       bcopy(enaddr, sc->arpcom.ac_enaddr, sizeof(enaddr));
+       bcopy(enaddr, sc->arpcom.ac_enaddr, ETHER_ADDR_LEN);
        bcopy(sc->sc_dev.dv_xname, ifp->if_xname, IFNAMSIZ);
        ifp->if_softc = sc;
        ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;