From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> This is really late, but I think we have two significant issues with L1SS: 1) pcie_aspm_cap_init() reads from the L1SS capability even when it doesn't exist, so it reads PCI_COMMAND and PCI_STATUS instead and treats those as an L1SS Capability value. 2) encode_l12_threshold() encodes LTR_L1.2_THRESHOLD as smaller than requested, so ports may enter L1.2 when they should not. These patches are intended to fix both issues. Bjorn Helgaas (3): PCI/ASPM: Factor out L1 PM Substates configuration PCI/ASPM: Ignore L1 PM Substates if device lacks capability PCI/ASPM: Correct LTR_L1.2_THRESHOLD computation drivers/pci/pcie/aspm.c | 155 +++++++++++++++++++++++----------------- 1 file changed, 90 insertions(+), 65 deletions(-) -- 2.25.1