Date: Fri, 14 Nov 2008 18:09:20 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r184973 - in stable/7/sys: . dev/pccbb modules/cxgb Message-ID: <200811141809.mAEI9KJ8098552@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: imp Date: Fri Nov 14 18:09:19 2008 New Revision: 184973 URL: http://svn.freebsd.org/changeset/base/184973 Log: Merge r183539 and r183558: Do match on class to avoid false positives, return BUS_GENERIC_PROBE for a generic match. Approved by: re@ Modified: stable/7/sys/ (props changed) stable/7/sys/dev/pccbb/pccbb_pci.c stable/7/sys/modules/cxgb/ (props changed) Modified: stable/7/sys/dev/pccbb/pccbb_pci.c ============================================================================== --- stable/7/sys/dev/pccbb/pccbb_pci.c Fri Nov 14 12:31:05 2008 (r184972) +++ stable/7/sys/dev/pccbb/pccbb_pci.c Fri Nov 14 18:09:19 2008 (r184973) @@ -229,6 +229,7 @@ cbb_pci_probe(device_t brdev) { const char *name; uint32_t progif; + uint32_t baseclass; uint32_t subclass; /* @@ -245,11 +246,13 @@ cbb_pci_probe(device_t brdev) * to date have progif 0 (the Yenta spec, and successors mandate * this). */ + baseclass = pci_get_class(brdev); subclass = pci_get_subclass(brdev); progif = pci_get_progif(brdev); - if (subclass == PCIS_BRIDGE_CARDBUS && progif == 0) { + if (baseclass == PCIC_BRIDGE && + subclass == PCIS_BRIDGE_CARDBUS && progif == 0) { device_set_desc(brdev, "PCI-CardBus Bridge"); - return (BUS_PROBE_DEFAULT); + return (BUS_PROBE_GENERIC); } return (ENXIO); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811141809.mAEI9KJ8098552>