[PATCH][request for stable inclusion] PCI/ASPM: Don't touch ASPM if forcibly disabled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]