summaryrefslogtreecommitdiff
path: root/sys/dev/pci/agp_sis.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/pci/agp_sis.c')
-rw-r--r--sys/dev/pci/agp_sis.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/pci/agp_sis.c b/sys/dev/pci/agp_sis.c
index 0bc46a241b7..0109988e732 100644
--- a/sys/dev/pci/agp_sis.c
+++ b/sys/dev/pci/agp_sis.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: agp_sis.c,v 1.8 2008/11/09 15:11:19 oga Exp $ */
+/* $OpenBSD: agp_sis.c,v 1.9 2008/11/09 22:47:54 oga Exp $ */
/* $NetBSD: agp_sis.c,v 1.2 2001/09/15 00:25:00 thorpej Exp $ */
/*-
@@ -86,8 +86,10 @@ agp_sis_probe(struct device *parent, void *match, void *aux)
struct agp_attach_args *aa = aux;
struct pci_attach_args *pa = aa->aa_pa;
- /* Must be a pchb */
- if (agpbus_probe(aa) == 1 && PCI_VENDOR(pa->pa_id) == PCI_VENDOR_SIS)
+ /* Must be a pchb, don't attach to iommu-style agp devs */
+ if (agpbus_probe(aa) == 1 && PCI_VENDOR(pa->pa_id) == PCI_VENDOR_SIS &&
+ PCI_PRODUCT(pa->pa_id) != PCI_PRODUCT_SIS_755 &&
+ PCI_PRODUCT(pa->pa_id) != PCI_PRODUCT_SIS_760)
return (1);
return (0);
}