diff options
author | Ley Foon Tan <lftan@altera.com> | 2016-06-21 16:53:12 +0800 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2016-07-22 15:58:02 -0500 |
commit | c622032ebc538cb3869c312ae3ad235a99da84b6 (patch) | |
tree | 183273b78f61a74c3ca54be92a0fff176cb2dbcc /drivers/pci | |
parent | f8be11ae3d2c9a1338da37ff91ff4c65922d21be (diff) | |
download | linux-c622032ebc538cb3869c312ae3ad235a99da84b6.tar.bz2 |
PCI: altera: Check link status before retrain link
Check the link status before retraining. If the link is not up, don't
bother trying to retrain it.
[bhelgaas: split code move to separate patch, changelog]
Signed-off-by: Ley Foon Tan <lftan@altera.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/host/pcie-altera.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/pci/host/pcie-altera.c b/drivers/pci/host/pcie-altera.c index a1e782263dec..b61025ee07de 100644 --- a/drivers/pci/host/pcie-altera.c +++ b/drivers/pci/host/pcie-altera.c @@ -100,6 +100,10 @@ static bool altera_pcie_link_is_up(struct altera_pcie *pcie) static void altera_pcie_retrain(struct pci_dev *dev) { u16 linkcap, linkstat; + struct altera_pcie *pcie = dev->bus->sysdata; + + if (!altera_pcie_link_is_up(pcie)) + return; /* * Set the retrain bit if the PCIe rootport support > 2.5GB/s, but |