PCI: disable ASPM on VIA root-port-under-bridge configurations
VIA has a strange chipset, it has root port under a bridge. Disable ASPM for such strange chipset. Cc: stable@kernel.org Tested-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
@@ -638,6 +638,10 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev)
|
|||||||
if (pdev->pcie_type != PCI_EXP_TYPE_ROOT_PORT &&
|
if (pdev->pcie_type != PCI_EXP_TYPE_ROOT_PORT &&
|
||||||
pdev->pcie_type != PCI_EXP_TYPE_DOWNSTREAM)
|
pdev->pcie_type != PCI_EXP_TYPE_DOWNSTREAM)
|
||||||
return;
|
return;
|
||||||
|
/* VIA has a strange chipset, root port is under a bridge */
|
||||||
|
if (pdev->pcie_type == PCI_EXP_TYPE_ROOT_PORT &&
|
||||||
|
pdev->bus->self)
|
||||||
|
return;
|
||||||
down_read(&pci_bus_sem);
|
down_read(&pci_bus_sem);
|
||||||
if (list_empty(&pdev->subordinate->devices))
|
if (list_empty(&pdev->subordinate->devices))
|
||||||
goto out;
|
goto out;
|
||||||
|
Reference in New Issue
Block a user