summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Smith <brad@cvs.openbsd.org>2005-01-07 02:24:19 +0000
committerBrad Smith <brad@cvs.openbsd.org>2005-01-07 02:24:19 +0000
commit38b48ae754d8a95b57b45d2af9c054cb6fb5c18d (patch)
treea78c6864b6b2a468c58ad334ae8f269c2c31d16b
parentaa857eaece54434fbe04ad99d247aa595a375f91 (diff)
rev 1.26
The VIA Technologies VT82C686A SMBus Controller claims to be a PCI/ISA bridge, ignore it. From NetBSD ok deraadt@
-rw-r--r--sys/arch/i386/pci/pcib.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/sys/arch/i386/pci/pcib.c b/sys/arch/i386/pci/pcib.c
index 47b5b318604..92c1c49be9a 100644
--- a/sys/arch/i386/pci/pcib.c
+++ b/sys/arch/i386/pci/pcib.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcib.c,v 1.18 2004/10/03 11:11:37 grange Exp $ */
+/* $OpenBSD: pcib.c,v 1.19 2005/01/07 02:24:18 brad Exp $ */
/* $NetBSD: pcib.c,v 1.6 1997/06/06 23:29:16 thorpej Exp $ */
/*-
@@ -75,10 +75,6 @@ pcibmatch(parent, match, aux)
{
struct pci_attach_args *pa = aux;
- if (PCI_CLASS(pa->pa_class) == PCI_CLASS_BRIDGE &&
- PCI_SUBCLASS(pa->pa_class) == PCI_SUBCLASS_BRIDGE_ISA)
- return (1);
-
switch (PCI_VENDOR(pa->pa_id)) {
case PCI_VENDOR_INTEL:
switch (PCI_PRODUCT(pa->pa_id)) {
@@ -95,8 +91,18 @@ pcibmatch(parent, match, aux)
/* mis-identifies itself as a miscellaneous prehistoric */
return (1);
}
+ case PCI_VENDOR_VIATECH:
+ switch (PCI_PRODUCT(pa->pa_id)) {
+ case PCI_PRODUCT_VIATECH_VT82C686A_SMB:
+ /* mis-identifies itself as a ISA bridge */
+ return (0);
+ }
}
+ if (PCI_CLASS(pa->pa_class) == PCI_CLASS_BRIDGE &&
+ PCI_SUBCLASS(pa->pa_class) == PCI_SUBCLASS_BRIDGE_ISA)
+ return (1);
+
return (0);
}