aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/pci/pci_user.c
diff options
context:
space:
mode:
authorMarius Strobl <marius@FreeBSD.org>2007-09-30 11:05:18 +0000
committerMarius Strobl <marius@FreeBSD.org>2007-09-30 11:05:18 +0000
commit55aaf894e8a76fe780757ef6d9d1119c367946cf (patch)
tree8043b70223b1a26b9d8903a04633a168390b18dc /sys/dev/pci/pci_user.c
parent9140ec8e229385a784333f186a8323dcdfd84468 (diff)
Notes
Diffstat (limited to 'sys/dev/pci/pci_user.c')
-rw-r--r--sys/dev/pci/pci_user.c10
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;