summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2008-11-14 18:09:19 +0000
committerWarner Losh <imp@FreeBSD.org>2008-11-14 18:09:19 +0000
commit5bac84909275f8dc4c1c0ba8b01565f58a5ee264 (patch)
tree9b7360167e93d967d8144488902294e4c81687b4 /sys/dev
parentf7baf26b90c343af47550c8627830c2b277f781f (diff)
Notes
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pccbb/pccbb_pci.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/pccbb/pccbb_pci.c b/sys/dev/pccbb/pccbb_pci.c
index 73a52b0d82cd..bf0b225491fa 100644
--- a/sys/dev/pccbb/pccbb_pci.c
+++ b/sys/dev/pccbb/pccbb_pci.c
@@ -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);
}