diff options
author | briggs <briggs@cvs.openbsd.org> | 1997-03-18 01:02:51 +0000 |
---|---|---|
committer | briggs <briggs@cvs.openbsd.org> | 1997-03-18 01:02:51 +0000 |
commit | f663b2e9d210d80ac48418288ea07bca553919f2 (patch) | |
tree | 0851a6c52a6595d0ab5fda49e96f71d8deb57f79 /sys/arch/mac68k | |
parent | 55782e9299b15aa5737cda7ef067c5fb46dbc89b (diff) |
From Scott Reynolds <scottr@netbsd.org> (, but compilable ;-)
Some cards we identify as InterLAN cards do not seem to have the MAC
address in the configuration ROM. For these, fall back to the old
method if we can't find the expected sResource record.
Diffstat (limited to 'sys/arch/mac68k')
-rw-r--r-- | sys/arch/mac68k/dev/if_ae_nubus.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/sys/arch/mac68k/dev/if_ae_nubus.c b/sys/arch/mac68k/dev/if_ae_nubus.c index 40e44f052e3..9c65f228056 100644 --- a/sys/arch/mac68k/dev/if_ae_nubus.c +++ b/sys/arch/mac68k/dev/if_ae_nubus.c @@ -1,5 +1,5 @@ -/* $NetBSD: if_ae_nubus.c,v 1.5 1997/02/28 08:56:06 scottr Exp $ */ -/* $OpenBSD: if_ae_nubus.c,v 1.2 1997/03/12 13:36:58 briggs Exp $ */ +/* $NetBSD: if_ae_nubus.c,v 1.9 1997/03/17 20:26:01 scottr Exp $ */ +/* $OpenBSD: if_ae_nubus.c,v 1.3 1997/03/18 01:02:50 briggs Exp $ */ /* * Copyright (C) 1997 Scott Reynolds @@ -118,10 +118,7 @@ ae_nubus_attach(parent, self, aux) struct ifnet *ifp = &sc->sc_arpcom.ac_if; bus_space_tag_t bst; bus_space_handle_t bsh; - int success; -#ifdef AE_OLD_GET_ENADDR - int i; -#endif + int i,success; bst = na->na_tag; if (bus_space_map(bst, NUBUS_SLOT2PA(na->slot), NBMEMSIZE, @@ -254,17 +251,13 @@ ae_nubus_attach(parent, self, aux) /* reset the NIC chip */ bus_space_write_1(bst, bsh, GC_RESET_OFFSET, 0); -#ifdef AE_OLD_GET_ENADDR - /* Get station address from on-board ROM */ - for (i = 0; i < ETHER_ADDR_LEN; ++i) - sc->sc_arpcom.ac_enaddr[i] = - bus_space_read_1(bst, bsh, (GC_ROM_OFFSET + i * 4)); -#else if (ae_nb_get_enaddr(na, sc->sc_arpcom.ac_enaddr)) { - printf(": can't find MAC address\n"); - break; + /* Fall back to snarf directly from ROM. Ick. */ + for (i = 0; i < ETHER_ADDR_LEN; ++i) + sc->sc_arpcom.ac_enaddr[i] = + bus_space_read_1(bst, bsh, + (GC_ROM_OFFSET + i * 4)); } -#endif success = 1; break; |