On Tue, Dec 17, 2019 at 02:38:36PM +0300, Yurii Monakov wrote: > ks_pcie_stop_link() function does not clear LTSSM_EN_VAL bit so > link training was not triggered more than once after startup. > In configurations where link can be unstable during early boot, > for example, under low temperature, it will never be established. > > Fixes: 0c4ffcfe1fbc ("PCI: keystone: Add TI Keystone PCIe driver") > Signed-off-by: Yurii Monakov <monakov.y@xxxxxxxxx> > CC:stable@xxxxxxxxxxxxxxx > --- > drivers/pci/controller/dwc/pci-keystone.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Applied to pci/keystone, thanks. Lorenzo > diff --git a/drivers/pci/controller/dwc/pci-keystone.c b/drivers/pci/controller/dwc/pci-keystone.c > index af677254a072..d4de4f6cff8b 100644 > --- a/drivers/pci/controller/dwc/pci-keystone.c > +++ b/drivers/pci/controller/dwc/pci-keystone.c > @@ -510,7 +510,7 @@ static void ks_pcie_stop_link(struct dw_pcie *pci) > /* Disable Link training */ > val = ks_pcie_app_readl(ks_pcie, CMD_STATUS); > val &= ~LTSSM_EN_VAL; > - ks_pcie_app_writel(ks_pcie, CMD_STATUS, LTSSM_EN_VAL | val); > + ks_pcie_app_writel(ks_pcie, CMD_STATUS, val); > } > > static int ks_pcie_start_link(struct dw_pcie *pci) > -- > 2.17.1