From: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Hi Greg or Bjorn, This patch prevents kernel from allocating and tracking PCIe ASPM when we append kernel command pcie_aspm=off. In some broken device(we have found in PMC chip), When kernel try to initialize device ASPM, the device may be reset after configure common clock and retrain link. Even we disable aspm(append pcie_aspm=off), this related code will also be executed. This patch fix this issue. So I hope this patch can be merged in 3.4 stable. What do you think about? ===================================== commit a26d5ecb3201c11e03663a8f4a7dedc0c5f85c07 upstream Don't allocate and track PCIe ASPM state when "pcie_aspm=off" is specified on the kernel command line. Based-on-patch-from: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: David Bulkow <david.bulkow@xxxxxxxxxxx> Acked-by: Myron Stowe <myron.stowe@xxxxxxxxxx> [wyj: Backported to 3.4: context adjust] Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> --- drivers/pci/pcie/aspm.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c index 474f22f..c9ce611 100644 --- a/drivers/pci/pcie/aspm.c +++ b/drivers/pci/pcie/aspm.c @@ -583,6 +583,9 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev) struct pcie_link_state *link; int blacklist = !!pcie_aspm_sanity_check(pdev); + if (!aspm_support_enabled) + return; + if (!pci_is_pcie(pdev) || pdev->link_state) return; if (pdev->pcie_type != PCI_EXP_TYPE_ROOT_PORT && -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html