aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/pci/pcie/aspm.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index 4bdef24cd412..b500840a143b 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -508,9 +508,6 @@ static int pcie_aspm_sanity_check(struct pci_dev *pdev)
508 int pos; 508 int pos;
509 u32 reg32; 509 u32 reg32;
510 510
511 if (aspm_disabled)
512 return 0;
513
514 /* 511 /*
515 * Some functions in a slot might not all be PCIe functions, 512 * Some functions in a slot might not all be PCIe functions,
516 * very strange. Disable ASPM for the whole slot 513 * very strange. Disable ASPM for the whole slot
@@ -519,6 +516,16 @@ static int pcie_aspm_sanity_check(struct pci_dev *pdev)
519 pos = pci_pcie_cap(child); 516 pos = pci_pcie_cap(child);
520 if (!pos) 517 if (!pos)
521 return -EINVAL; 518 return -EINVAL;
519
520 /*
521 * If ASPM is disabled then we're not going to change
522 * the BIOS state. It's safe to continue even if it's a
523 * pre-1.1 device
524 */
525
526 if (aspm_disabled)
527 continue;
528
522 /* 529 /*
523 * Disable ASPM for pre-1.1 PCIe device, we follow MS to use 530 * Disable ASPM for pre-1.1 PCIe device, we follow MS to use
524 * RBER bit to determine if a function is 1.1 version device 531 * RBER bit to determine if a function is 1.1 version device