summaryrefslogtreecommitdiff
path: root/sys/dev/isa
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>1998-03-30 20:49:23 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>1998-03-30 20:49:23 +0000
commitab304d84bf0037d0d4df144a884d59af1718302f (patch)
tree8bdeed444f92627364a172dcdbc2b68d683fe2c6 /sys/dev/isa
parent1a30d63db75ed6fbbbfd50ed04968cf1a48362f8 (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.c18
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