diff options
| author | Tatsumi Hosokawa <hosokawa@FreeBSD.org> | 2000-01-21 03:08:46 +0000 |
|---|---|---|
| committer | Tatsumi Hosokawa <hosokawa@FreeBSD.org> | 2000-01-21 03:08:46 +0000 |
| commit | 87ef0a0afb046cbff4f111fd24d8ab18e04b1538 (patch) | |
| tree | b0ffefc6a522c89e05bc32647d6d467023485060 /sys/dev/ed | |
| parent | bd9079fa6c52f659251bdf2b30fd8761216f005c (diff) | |
Notes
Diffstat (limited to 'sys/dev/ed')
| -rw-r--r-- | sys/dev/ed/if_ed_pccard.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/dev/ed/if_ed_pccard.c b/sys/dev/ed/if_ed_pccard.c index a8c819abbbb5..af8cd9acb6e7 100644 --- a/sys/dev/ed/if_ed_pccard.c +++ b/sys/dev/ed/if_ed_pccard.c @@ -42,6 +42,7 @@ #include <net/if_mib.h> #include <dev/ed/if_edvar.h> +#include <dev/pccard/pccardvar.h> /* * PC-Card (PCMCIA) specific code. @@ -132,6 +133,9 @@ ed_pccard_attach(device_t dev) struct ed_softc *sc = device_get_softc(dev); int flags = device_get_flags(dev); int error; + int i; + u_char sum; + u_char ether_addr[ETHER_ADDR_LEN]; if (sc->port_used > 0) ed_alloc_port(dev, sc->port_rid, sc->port_used); @@ -147,6 +151,12 @@ ed_pccard_attach(device_t dev) return (error); } + pccard_get_ether(dev, ether_addr); + for (i = 0, sum = 0; i < ETHER_ADDR_LEN; i++) + sum |= ether_addr[i]; + if (sum) + bcopy(ether_addr, sc->arpcom.ac_enaddr, ETHER_ADDR_LEN); + error = ed_attach(sc, device_get_unit(dev), flags); return (error); } |
