summaryrefslogtreecommitdiff
path: root/sys/dev/pci
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2016-07-20 09:48:08 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2016-07-20 09:48:08 +0000
commit1fd8ececb413a7b81e87d04c76b9ae66399445f3 (patch)
tree580d09a588f7a81af19e71a1a20dca6cbe86d6a3 /sys/dev/pci
parentae03de5b42a499a45ff116b87ba7e8b9e7144bab (diff)
ATI controllers seem to need the same workaround as VIA controllers.
This should hopefully help people reporting errors with SB700. From FreeBSD, ok kettenis@, krw@
Diffstat (limited to 'sys/dev/pci')
-rw-r--r--sys/dev/pci/ehci_pci.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/pci/ehci_pci.c b/sys/dev/pci/ehci_pci.c
index b42ff972570..a0b9acfc48f 100644
--- a/sys/dev/pci/ehci_pci.c
+++ b/sys/dev/pci/ehci_pci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ehci_pci.c,v 1.29 2015/11/09 10:01:17 mpi Exp $ */
+/* $OpenBSD: ehci_pci.c,v 1.30 2016/07/20 09:48:06 mpi Exp $ */
/* $NetBSD: ehci_pci.c,v 1.15 2004/04/23 21:13:06 itojun Exp $ */
/*
@@ -207,8 +207,14 @@ ehci_pci_attach(struct device *parent, struct device *self, void *aux)
"vendor 0x%04x", PCI_VENDOR(pa->pa_id));
/* Enable workaround for dropped interrupts as required */
- if (sc->sc.sc_id_vendor == PCI_VENDOR_VIATECH)
+ switch (sc->sc.sc_id_vendor) {
+ case PCI_VENDOR_ATI:
+ case PCI_VENDOR_VIATECH:
sc->sc.sc_flags |= EHCIF_DROPPED_INTR_WORKAROUND;
+ break;
+ default:
+ break;
+ }
ehci_pci_takecontroller(sc, 0);
r = ehci_init(&sc->sc);