summaryrefslogtreecommitdiff
path: root/sys/arch/i386
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2003-01-08 01:46:08 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2003-01-08 01:46:08 +0000
commit5b2a1b9dd89678c855fd966ab513be82848ba61b (patch)
tree3043da0a33e612af277ff56312301b586fbe7f1d /sys/arch/i386
parent2ea7e78bd496a420c851633dd26176fcfc24f88a (diff)
do not match on via866 smbus controller; reported and tested by grange@
Diffstat (limited to 'sys/arch/i386')
-rw-r--r--sys/arch/i386/pci/pchb.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/arch/i386/pci/pchb.c b/sys/arch/i386/pci/pchb.c
index f9e8bbdd73e..161c1b605e5 100644
--- a/sys/arch/i386/pci/pchb.c
+++ b/sys/arch/i386/pci/pchb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pchb.c,v 1.37 2002/09/23 04:11:31 nate Exp $ */
+/* $OpenBSD: pchb.c,v 1.38 2003/01/08 01:46:07 mickey Exp $ */
/* $NetBSD: pchb.c,v 1.6 1997/06/06 23:29:16 thorpej Exp $ */
/*
@@ -137,6 +137,11 @@ pchbmatch(parent, match, aux)
{
struct pci_attach_args *pa = aux;
+ /* XXX work around broken via82x866 chipsets */
+ if (PCI_VENDOR(pa->pa_id) == PCI_VENDOR_VIATECH &&
+ PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_VIATECH_VT82C686A_SMB)
+ return (0);
+
if (PCI_CLASS(pa->pa_class) == PCI_CLASS_BRIDGE &&
PCI_SUBCLASS(pa->pa_class) == PCI_SUBCLASS_BRIDGE_HOST)
return (1);