diff options
Diffstat (limited to 'drivers/pci/probe.c')
-rw-r--r-- | drivers/pci/probe.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 5e1ca3c58a7d..2dc8675eea1a 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <linux/module.h> | 10 | #include <linux/module.h> |
11 | #include <linux/cpumask.h> | 11 | #include <linux/cpumask.h> |
12 | #include <linux/pci-aspm.h> | 12 | #include <linux/pci-aspm.h> |
13 | #include <asm-generic/pci-bridge.h> | ||
13 | #include "pci.h" | 14 | #include "pci.h" |
14 | 15 | ||
15 | #define CARDBUS_LATENCY_TIMER 176 /* secondary latency timer */ | 16 | #define CARDBUS_LATENCY_TIMER 176 /* secondary latency timer */ |
@@ -1395,10 +1396,13 @@ static unsigned no_next_fn(struct pci_dev *dev, unsigned fn) | |||
1395 | static int only_one_child(struct pci_bus *bus) | 1396 | static int only_one_child(struct pci_bus *bus) |
1396 | { | 1397 | { |
1397 | struct pci_dev *parent = bus->self; | 1398 | struct pci_dev *parent = bus->self; |
1399 | |||
1398 | if (!parent || !pci_is_pcie(parent)) | 1400 | if (!parent || !pci_is_pcie(parent)) |
1399 | return 0; | 1401 | return 0; |
1400 | if (parent->pcie_type == PCI_EXP_TYPE_ROOT_PORT || | 1402 | if (parent->pcie_type == PCI_EXP_TYPE_ROOT_PORT) |
1401 | parent->pcie_type == PCI_EXP_TYPE_DOWNSTREAM) | 1403 | return 1; |
1404 | if (parent->pcie_type == PCI_EXP_TYPE_DOWNSTREAM && | ||
1405 | !pci_has_flag(PCI_SCAN_ALL_PCIE_DEVS)) | ||
1402 | return 1; | 1406 | return 1; |
1403 | return 0; | 1407 | return 0; |
1404 | } | 1408 | } |