Skip to content

Commit

Permalink
PCI/ASPM: Restore parent state to parent, child state to child
Browse files Browse the repository at this point in the history
There's a typo that makes parent device uses child LNKCTL value and vice
versa. This causes Micron NVMe to trigger a reboot upon system resume.

Correct the typo to fix the issue.

Fixes: 64dbb2d ("PCI/ASPM: Disable L1 before configuring L1 Substates")
Link: https://lore.kernel.org/r/20240506051602.1990743-1-kai.heng.feng@canonical.com
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
[bhelgaas: update subject]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  • Loading branch information
Kai-Heng Feng authored and Bjorn Helgaas committed May 6, 2024
1 parent 2e0239d commit f3d049b
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/pci/pcie/aspm.c
Original file line number Diff line number Diff line change
Expand Up @@ -177,8 +177,8 @@ void pci_restore_aspm_l1ss_state(struct pci_dev *pdev)
/* Restore L0s/L1 if they were enabled */
if (FIELD_GET(PCI_EXP_LNKCTL_ASPMC, clnkctl) ||
FIELD_GET(PCI_EXP_LNKCTL_ASPMC, plnkctl)) {
pcie_capability_write_word(parent, PCI_EXP_LNKCTL, clnkctl);
pcie_capability_write_word(pdev, PCI_EXP_LNKCTL, plnkctl);
pcie_capability_write_word(parent, PCI_EXP_LNKCTL, plnkctl);
pcie_capability_write_word(pdev, PCI_EXP_LNKCTL, clnkctl);
}
}

Expand Down

0 comments on commit f3d049b

Please sign in to comment.