diff --git a/patch/kernel/archive/mvebu-6.1/09-pci-link-retraining.patch b/patch/kernel/archive/mvebu-6.1/09-pci-link-retraining.patch index d3cf9df1cd..e04e8e17a6 100644 --- a/patch/kernel/archive/mvebu-6.1/09-pci-link-retraining.patch +++ b/patch/kernel/archive/mvebu-6.1/09-pci-link-retraining.patch @@ -130,10 +130,10 @@ index ac0557a305af..729b0389562b 100644 + return 0; +} + - static bool pcie_retrain_link(struct pcie_link_state *link) + static int pcie_retrain_link(struct pcie_link_state *link) { struct pci_dev *parent = link->pdev; - unsigned long end_jiffies; + int rc; u16 reg16; + if ((link->downstream->dev_flags & PCI_DEV_FLAGS_NO_RETRAIN_LINK_WHEN_NOT_GEN1) && @@ -142,9 +142,9 @@ index ac0557a305af..729b0389562b 100644 + return false; + } + - pcie_capability_read_word(parent, PCI_EXP_LNKCTL, ®16); - reg16 |= PCI_EXP_LNKCTL_RL; - pcie_capability_write_word(parent, PCI_EXP_LNKCTL, reg16); + /* + * Ensure the updated LNKCTL parameters are used during link + * training by checking that there is no ongoing link training to diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 5d2acebc3..91d675e0d 100644 --- a/drivers/pci/quirks.c