Merge branch 'pci/controller/keystone'

- Hold power management references to all PHYs while enabling them to avoid
  a race when one provides clocks to others (Siddharth Vadapalli)

* pci/controller/keystone:
  PCI: keystone: Fix race condition when initializing PHYs
This commit is contained in:
Bjorn Helgaas 2024-01-15 12:10:37 -06:00
commit 186ce88c90
1 changed files with 9 additions and 0 deletions

View File

@ -1218,7 +1218,16 @@ static int ks_pcie_probe(struct platform_device *pdev)
goto err_link;
}
/* Obtain references to the PHYs */
for (i = 0; i < num_lanes; i++)
phy_pm_runtime_get_sync(ks_pcie->phy[i]);
ret = ks_pcie_enable_phy(ks_pcie);
/* Release references to the PHYs */
for (i = 0; i < num_lanes; i++)
phy_pm_runtime_put_sync(ks_pcie->phy[i]);
if (ret) {
dev_err(dev, "failed to enable phy\n");
goto err_link;