diff options
author | Todd C. Miller <millert@cvs.openbsd.org> | 1998-03-30 20:49:23 +0000 |
---|---|---|
committer | Todd C. Miller <millert@cvs.openbsd.org> | 1998-03-30 20:49:23 +0000 |
commit | ab304d84bf0037d0d4df144a884d59af1718302f (patch) | |
tree | 8bdeed444f92627364a172dcdbc2b68d683fe2c6 /sys/dev/isa | |
parent | 1a30d63db75ed6fbbbfd50ed04968cf1a48362f8 (diff) |
Don't match if ether addr is ff:ff:ff:ff:ff. Hack to work around false
positive I get on my libretto (ne2100_isa_probe matches when it should not).
Diffstat (limited to 'sys/dev/isa')
-rw-r--r-- | sys/dev/isa/if_le_isa.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/sys/dev/isa/if_le_isa.c b/sys/dev/isa/if_le_isa.c index d3a6ebc154f..7216c7efdfd 100644 --- a/sys/dev/isa/if_le_isa.c +++ b/sys/dev/isa/if_le_isa.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_le_isa.c,v 1.12 1998/02/15 01:50:13 deraadt Exp $ */ +/* $OpenBSD: if_le_isa.c,v 1.13 1998/03/30 20:49:22 millert Exp $ */ /* $NetBSD: if_le_isa.c,v 1.2 1996/05/12 23:52:56 mycroft Exp $ */ /*- @@ -93,6 +93,7 @@ le_isa_probe(parent, match, aux) { struct le_softc *lesc = match; struct isa_attach_args *ia = aux; + u_int8_t bogusether[ETHER_ADDR_LEN] = { 255, 255, 255, 255, 255, 255 }; #if NISADMA == 0 if (ia->ia_drq != DRQUNK) { @@ -101,14 +102,15 @@ le_isa_probe(parent, match, aux) } #endif - if (bicc_isa_probe(lesc, ia)) - return (1); - if (ne2100_isa_probe(lesc, ia)) - return (1); - if (depca_isa_probe(lesc, ia)) - return (1); + if (bicc_isa_probe(lesc, ia) == 0 && ne2100_isa_probe(lesc, ia) == 0 && + depca_isa_probe(lesc, ia) == 0) + return (0); + + if (bcmp(lesc->sc_am7990.sc_arpcom.ac_enaddr, bogusether, + sizeof(bogusether)) == 0) + return (0); - return (0); + return (1); } int |