diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2007-03-30 06:59:47 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2007-03-30 06:59:47 +0000 |
commit | dd627cdfb8b2d281f7572534b6a3120b47ebd3a7 (patch) | |
tree | 7493025695a801a3f36ae1edbaac32ed3cfec9db /sys/dev/pci/ahci.c | |
parent | f5fef1bd75714be116ca4531c3200ebfc25afa3f (diff) |
the VT8251 SATA says it is ahci, but we aren't ready for it. we need to
quirk a few things before it will work.
this blacklists that controller in ahci so pciide will be able to match it
instead.
found by jasper@
Diffstat (limited to 'sys/dev/pci/ahci.c')
-rw-r--r-- | sys/dev/pci/ahci.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sys/dev/pci/ahci.c b/sys/dev/pci/ahci.c index fdf049ef4c0..f2e51819903 100644 --- a/sys/dev/pci/ahci.c +++ b/sys/dev/pci/ahci.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ahci.c,v 1.105 2007/03/29 07:40:10 pascoe Exp $ */ +/* $OpenBSD: ahci.c,v 1.106 2007/03/30 06:59:46 dlg Exp $ */ /* * Copyright (c) 2006 David Gwynne <dlg@openbsd.org> @@ -395,6 +395,7 @@ struct ahci_device { const struct ahci_device *ahci_lookup_device(struct pci_attach_args *); +int ahci_no_match(struct pci_attach_args *); int ahci_jmicron_match(struct pci_attach_args *); int ahci_jmicron_attach(struct pci_attach_args *); @@ -408,7 +409,9 @@ static const struct ahci_device ahci_devices[] = { { PCI_VENDOR_JMICRON, PCI_PRODUCT_JMICRON_JMB365, ahci_jmicron_match, ahci_jmicron_attach }, { PCI_VENDOR_JMICRON, PCI_PRODUCT_JMICRON_JMB366, - ahci_jmicron_match, ahci_jmicron_attach } + ahci_jmicron_match, ahci_jmicron_attach }, + { PCI_VENDOR_VIATECH, PCI_PRODUCT_VIATECH_VT8251_SATA, + ahci_no_match, NULL } }; int ahci_match(struct device *, void *, void *); @@ -518,6 +521,12 @@ ahci_lookup_device(struct pci_attach_args *pa) } int +ahci_no_match(struct pci_attach_args *pa) +{ + return (0); +} + +int ahci_jmicron_match(struct pci_attach_args *pa) { if (pa->pa_function != 0) |