diff options
author | hosokawa <hosokawa@FreeBSD.org> | 2000-01-21 09:05:49 +0000 |
---|---|---|
committer | hosokawa <hosokawa@FreeBSD.org> | 2000-01-21 09:05:49 +0000 |
commit | cdccd2138aae9ccf11f60d140c42b06e19ddcb90 (patch) | |
tree | 6b142183251e6ffd7ab157f79f14b6c703dc5bf5 /sys/dev/sn/if_sn_pccard.c | |
parent | 0d26a5787c7ace21f59b57c6a8bcb639602cecfe (diff) | |
download | FreeBSD-src-cdccd2138aae9ccf11f60d140c42b06e19ddcb90.zip FreeBSD-src-cdccd2138aae9ccf11f60d140c42b06e19ddcb90.tar.gz |
Added support for hex-encoded MAC address of Megahertz X-Jack Ethernet Card
Reviewed by: Warner Losh <imp@village.org>
Diffstat (limited to 'sys/dev/sn/if_sn_pccard.c')
-rw-r--r-- | sys/dev/sn/if_sn_pccard.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/dev/sn/if_sn_pccard.c b/sys/dev/sn/if_sn_pccard.c index 7b0d608..5af8405 100644 --- a/sys/dev/sn/if_sn_pccard.c +++ b/sys/dev/sn/if_sn_pccard.c @@ -44,6 +44,7 @@ #include <machine/resource.h> #include <sys/rman.h> +#include <net/ethernet.h> #include <net/if.h> #include <net/if_arp.h> #include <net/if_media.h> @@ -52,6 +53,7 @@ #include <dev/sn/if_snreg.h> #include <dev/sn/if_snvar.h> +#include <dev/pccard/pccardvar.h> /* * Initialize the device - called from Slot manager. @@ -65,6 +67,17 @@ sn_pccard_probe(device_t dev) static int sn_pccard_attach(device_t dev) { + struct sn_softc *sc = device_get_softc(dev); + int i; + u_char sum; + u_char ether_addr[ETHER_ADDR_LEN]; + + 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); + return (sn_attach(dev)); } |