aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/pci/pci_host_generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/pci/pci_host_generic.c')
-rw-r--r--sys/dev/pci/pci_host_generic.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/pci/pci_host_generic.c b/sys/dev/pci/pci_host_generic.c
index 0c45f5d316ed..22b3ccdc17b1 100644
--- a/sys/dev/pci/pci_host_generic.c
+++ b/sys/dev/pci/pci_host_generic.c
@@ -185,6 +185,8 @@ generic_pcie_read_config(device_t dev, u_int bus, u_int slot,
if ((slot > PCI_SLOTMAX) || (func > PCI_FUNCMAX) ||
(reg > PCIE_REGMAX))
return (~0U);
+ if ((sc->quirks & PCIE_ECAM_DESIGNWARE_QUIRK) && bus == 0 && slot > 0)
+ return (~0U);
offset = PCIE_ADDR_OFFSET(bus - sc->bus_start, slot, func, reg);
t = sc->bst;