diff options
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/pcie/aspm.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c index b0367f168af4..777b2c76caf5 100644 --- a/drivers/pci/pcie/aspm.c +++ b/drivers/pci/pcie/aspm.c | |||
@@ -638,6 +638,10 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev) | |||
638 | if (pdev->pcie_type != PCI_EXP_TYPE_ROOT_PORT && | 638 | if (pdev->pcie_type != PCI_EXP_TYPE_ROOT_PORT && |
639 | pdev->pcie_type != PCI_EXP_TYPE_DOWNSTREAM) | 639 | pdev->pcie_type != PCI_EXP_TYPE_DOWNSTREAM) |
640 | return; | 640 | return; |
641 | /* VIA has a strange chipset, root port is under a bridge */ | ||
642 | if (pdev->pcie_type == PCI_EXP_TYPE_ROOT_PORT && | ||
643 | pdev->bus->self) | ||
644 | return; | ||
641 | down_read(&pci_bus_sem); | 645 | down_read(&pci_bus_sem); |
642 | if (list_empty(&pdev->subordinate->devices)) | 646 | if (list_empty(&pdev->subordinate->devices)) |
643 | goto out; | 647 | goto out; |