diff options
| author | Marius Strobl <marius@FreeBSD.org> | 2007-09-30 11:05:18 +0000 |
|---|---|---|
| committer | Marius Strobl <marius@FreeBSD.org> | 2007-09-30 11:05:18 +0000 |
| commit | 55aaf894e8a76fe780757ef6d9d1119c367946cf (patch) | |
| tree | 8043b70223b1a26b9d8903a04633a168390b18dc /sys/dev/pci/pci_user.c | |
| parent | 9140ec8e229385a784333f186a8323dcdfd84468 (diff) | |
Notes
Diffstat (limited to 'sys/dev/pci/pci_user.c')
| -rw-r--r-- | sys/dev/pci/pci_user.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/pci/pci_user.c b/sys/dev/pci/pci_user.c index 469dc40afcd2..78b760895d61 100644 --- a/sys/dev/pci/pci_user.c +++ b/sys/dev/pci/pci_user.c @@ -125,6 +125,11 @@ pci_conf_match(struct pci_match_conf *matches, int num_matches, * comparison. If the comparison fails, we don't have a * match, go on to the next item if there is one. */ + if (((matches[i].flags & PCI_GETCONF_MATCH_DOMAIN) != 0) + && (match_buf->pc_sel.pc_domain != + matches[i].pc_sel.pc_domain)) + continue; + if (((matches[i].flags & PCI_GETCONF_MATCH_BUS) != 0) && (match_buf->pc_sel.pc_bus != matches[i].pc_sel.pc_bus)) continue; @@ -388,8 +393,9 @@ getconfexit: * Look up the grandparent, i.e. the bridge device, * so that we can issue configuration space cycles. */ - pcidev = pci_find_bsf(io->pi_sel.pc_bus, - io->pi_sel.pc_dev, io->pi_sel.pc_func); + pcidev = pci_find_dbsf(io->pi_sel.pc_domain, + io->pi_sel.pc_bus, io->pi_sel.pc_dev, + io->pi_sel.pc_func); if (pcidev) { device_t busdev, brdev; |
