summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_bge.c
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2008-08-24 20:24:44 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2008-08-24 20:24:44 +0000
commitad04979ca641d9ad9da3a4c00c109eebbc90eac4 (patch)
tree9b56fda4aab845c10f02a5aac052d007aab60adc /sys/dev/pci/if_bge.c
parent0896ef65855bb250bb4cde21518088e9601edf43 (diff)
Tadpole Viper onboard ethernet has no eeprom either, but the PROM entry
has subsystem ids set to the same as the regular ids, so the heuristic does not work. So look for the TAD,Viper machine name. When we get our hand on a Bullfrog (with a PCI slot) we will need to revisit this. ok kettenis
Diffstat (limited to 'sys/dev/pci/if_bge.c')
-rw-r--r--sys/dev/pci/if_bge.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/pci/if_bge.c b/sys/dev/pci/if_bge.c
index 2d7c80d585f..8dda5ead053 100644
--- a/sys/dev/pci/if_bge.c
+++ b/sys/dev/pci/if_bge.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_bge.c,v 1.239 2008/08/24 16:30:18 deraadt Exp $ */
+/* $OpenBSD: if_bge.c,v 1.240 2008/08/24 20:24:43 deraadt Exp $ */
/*
* Copyright (c) 2001 Wind River Systems
@@ -107,6 +107,7 @@
#endif
#ifdef __sparc64__
+#include <sparc64/autoconf.h>
#include <dev/ofw/openfirm.h>
#endif
@@ -1792,6 +1793,7 @@ bge_attach(struct device *parent, struct device *self, void *aux)
struct ifnet *ifp;
caddr_t kva;
#ifdef __sparc64__
+ char namebuf[32];
int subvendor;
#endif
@@ -1872,6 +1874,9 @@ bge_attach(struct device *parent, struct device *self, void *aux)
if (subvendor == PCI_VENDOR_SUN)
sc->bge_flags |= BGE_NO_EEPROM;
}
+ if (OF_getprop(findroot(), "name", namebuf, sizeof(namebuf)) > 0 &&
+ strcmp(namebuf, "TAD,Viper") == 0)
+ sc->bge_flags |= BGE_NO_EEPROM;
#endif
/*