diff options
| author | Warner Losh <imp@FreeBSD.org> | 2008-11-14 18:09:19 +0000 |
|---|---|---|
| committer | Warner Losh <imp@FreeBSD.org> | 2008-11-14 18:09:19 +0000 |
| commit | 5bac84909275f8dc4c1c0ba8b01565f58a5ee264 (patch) | |
| tree | 9b7360167e93d967d8144488902294e4c81687b4 /sys/dev | |
| parent | f7baf26b90c343af47550c8627830c2b277f781f (diff) | |
Notes
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/pccbb/pccbb_pci.c | 7 |
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); } |
