diff options
-rw-r--r-- | sys/dev/ed/if_ed.c | 10 | ||||
-rw-r--r-- | sys/i386/isa/if_ed.c | 10 |
2 files changed, 18 insertions, 2 deletions
diff --git a/sys/dev/ed/if_ed.c b/sys/dev/ed/if_ed.c index b46ccd5..14d3e28 100644 --- a/sys/dev/ed/if_ed.c +++ b/sys/dev/ed/if_ed.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_ed.c,v 1.134 1998/02/27 05:38:28 msmith Exp $ + * $Id: if_ed.c,v 1.135 1998/02/27 06:39:30 msmith Exp $ */ /* @@ -232,6 +232,8 @@ DATA_SET(pccarddrv_set, ed_info); static int edinit(struct pccard_devinfo *devi) { + int i; + u_char e; struct ed_softc *sc = &ed_softc[devi->isahd.id_unit]; /* validate unit number. */ @@ -244,6 +246,12 @@ edinit(struct pccard_devinfo *devi) sc->gone = 0; if (ed_probe_pccard(&devi->isahd, devi->misc) == 0) return(ENXIO); + e = 0; + for (i = 0; i < ETHER_ADDR_LEN; ++i) + e |= devi->misc[i]; + if (e) + for (i = 0; i < ETHER_ADDR_LEN; ++i) + sc->arpcom.ac_enaddr[i] = devi->misc[i]; if (ed_attach_isa(&devi->isahd) == 0) return(ENXIO); diff --git a/sys/i386/isa/if_ed.c b/sys/i386/isa/if_ed.c index b46ccd5..14d3e28 100644 --- a/sys/i386/isa/if_ed.c +++ b/sys/i386/isa/if_ed.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_ed.c,v 1.134 1998/02/27 05:38:28 msmith Exp $ + * $Id: if_ed.c,v 1.135 1998/02/27 06:39:30 msmith Exp $ */ /* @@ -232,6 +232,8 @@ DATA_SET(pccarddrv_set, ed_info); static int edinit(struct pccard_devinfo *devi) { + int i; + u_char e; struct ed_softc *sc = &ed_softc[devi->isahd.id_unit]; /* validate unit number. */ @@ -244,6 +246,12 @@ edinit(struct pccard_devinfo *devi) sc->gone = 0; if (ed_probe_pccard(&devi->isahd, devi->misc) == 0) return(ENXIO); + e = 0; + for (i = 0; i < ETHER_ADDR_LEN; ++i) + e |= devi->misc[i]; + if (e) + for (i = 0; i < ETHER_ADDR_LEN; ++i) + sc->arpcom.ac_enaddr[i] = devi->misc[i]; if (ed_attach_isa(&devi->isahd) == 0) return(ENXIO); |