On Wed, Jul 02, 2025 at 04:50:42PM GMT, Krishna Chaitanya Chundru wrote: [...] > - ret = phy_init(pcie->phy); > - if (ret) > - goto err_pm_runtime_put; > + for_each_available_child_of_node(dev->of_node, of_port) { > + ret = qcom_pcie_parse_port(pcie, of_port); > + of_node_put(of_port); > + if (ret) { > + if (ret != -ENOENT) { > + dev_err_probe(pci->dev, ret, > + "Failed to parse port nodes %d\n", > + ret); > + goto err_port_del; > + } > + break; > + } > + } > + > + /* > + * In the case of properties not populated in root port, fallback to the > + * legacy method of parsing the host bridge node. This is to maintain DT > + * backwards compatibility. > + */ > + if (ret) { > + pcie->phy = devm_phy_optional_get(dev, "pciephy"); > + if (IS_ERR(pcie->phy)) { > + ret = PTR_ERR(pcie->phy); > + goto err_pm_runtime_put; Shouldn't this and below be err_port_del? - Mani -- மணிவண்ணன் சதாசிவம்