From owner-svn-src-stable-7@FreeBSD.ORG Wed May 13 02:55:22 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 39654106566C; Wed, 13 May 2009 02:55:22 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2735C8FC0A; Wed, 13 May 2009 02:55:22 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n4D2tMi0040011; Wed, 13 May 2009 02:55:22 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n4D2tMQZ040010; Wed, 13 May 2009 02:55:22 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <200905130255.n4D2tMQZ040010@svn.freebsd.org> From: Alexander Motin Date: Wed, 13 May 2009 02:55:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r192033 - stable/7/sys/dev/ata X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 May 2009 02:55:22 -0000 Author: mav Date: Wed May 13 02:55:21 2009 New Revision: 192033 URL: http://svn.freebsd.org/changeset/base/192033 Log: Make vendor-specific drivers prefered over the generic AHCI one. This fixes some controllers, like JMicron ones, which provide also PATA via PCI function that declared as AHCI controller. This is not an MFC, but the same was already done in 8-CURRENT in other way. PR: kern/132082 Modified: stable/7/sys/dev/ata/ata-pci.c Modified: stable/7/sys/dev/ata/ata-pci.c ============================================================================== --- stable/7/sys/dev/ata/ata-pci.c Wed May 13 02:26:34 2009 (r192032) +++ stable/7/sys/dev/ata/ata-pci.c Wed May 13 02:55:21 2009 (r192033) @@ -76,12 +76,6 @@ ata_pci_probe(device_t dev) if (pci_get_class(dev) != PCIC_STORAGE) return ENXIO; - /* if this is an AHCI chipset grab it */ - if (pci_get_subclass(dev) == PCIS_STORAGE_SATA) { - if (!ata_ahci_ident(dev)) - return ATA_PROBE_OK; - } - /* run through the vendor specific drivers */ switch (pci_get_vendor(dev)) { case ATA_ACARD_ID: @@ -178,6 +172,12 @@ ata_pci_probe(device_t dev) break; } + /* if this is an AHCI chipset grab it */ + if (pci_get_subclass(dev) == PCIS_STORAGE_SATA) { + if (!ata_ahci_ident(dev)) + return ATA_PROBE_OK; + } + /* unknown chipset, try generic DMA if it seems possible */ if (pci_get_subclass(dev) == PCIS_STORAGE_IDE) { if (!ata_generic_ident(dev))