|
@@ -508,9 +508,6 @@ static int pcie_aspm_sanity_check(struct pci_dev *pdev)
|
|
|
int pos;
|
|
|
u32 reg32;
|
|
|
|
|
|
- if (aspm_disabled)
|
|
|
- return 0;
|
|
|
-
|
|
|
/*
|
|
|
* Some functions in a slot might not all be PCIe functions,
|
|
|
* very strange. Disable ASPM for the whole slot
|
|
@@ -519,6 +516,16 @@ static int pcie_aspm_sanity_check(struct pci_dev *pdev)
|
|
|
pos = pci_pcie_cap(child);
|
|
|
if (!pos)
|
|
|
return -EINVAL;
|
|
|
+
|
|
|
+ /*
|
|
|
+ * If ASPM is disabled then we're not going to change
|
|
|
+ * the BIOS state. It's safe to continue even if it's a
|
|
|
+ * pre-1.1 device
|
|
|
+ */
|
|
|
+
|
|
|
+ if (aspm_disabled)
|
|
|
+ continue;
|
|
|
+
|
|
|
/*
|
|
|
* Disable ASPM for pre-1.1 PCIe device, we follow MS to use
|
|
|
* RBER bit to determine if a function is 1.1 version device
|