drivers/pci/controller/dwc/pci-dra7xx.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
While creation of device link, if devm_phy_get() function fails then it
directly returns PTR_ERR without any cleanup of previous added device
links.
Added goto statement to handle the cleanup of already added device links.
Fixes: 7a4db656a635 (PCI: dra7xx: Create functional dependency between
PCIe and PHY)
Signed-off-by: Riyan Dhiman <riyandhiman14@gmail.com>
---
v2: resend when tree is open and reformat commit message
drivers/pci/controller/dwc/pci-dra7xx.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/controller/dwc/pci-dra7xx.c b/drivers/pci/controller/dwc/pci-dra7xx.c
index 4fe3b0cb72ec..c329d107b811 100644
--- a/drivers/pci/controller/dwc/pci-dra7xx.c
+++ b/drivers/pci/controller/dwc/pci-dra7xx.c
@@ -762,8 +762,10 @@ static int dra7xx_pcie_probe(struct platform_device *pdev)
for (i = 0; i < phy_count; i++) {
snprintf(name, sizeof(name), "pcie-phy%d", i);
phy[i] = devm_phy_get(dev, name);
- if (IS_ERR(phy[i]))
- return PTR_ERR(phy[i]);
+ if (IS_ERR(phy[i])) {
+ ret = PTR_ERR(phy[i]);
+ goto err_link;
+ }
link[i] = device_link_add(dev, &phy[i]->dev, DL_FLAG_STATELESS);
if (!link[i]) {
--
2.46.1
On Tue, Oct 01, 2024 at 04:27:18PM +0530, Riyan Dhiman wrote: > While creation of device link, if devm_phy_get() function fails then it > directly returns PTR_ERR without any cleanup of previous added device > links. > > Added goto statement to handle the cleanup of already added device links. > > Fixes: 7a4db656a635 (PCI: dra7xx: Create functional dependency between > PCIe and PHY) > Signed-off-by: Riyan Dhiman <riyandhiman14@gmail.com> No need to repost for this, but when applying, please s/Added/Add/ in subject and commit log (I mentioned this before for the v1 posting). Also add statement in commit log about what the patch does (currently it only says what the problem is). And join Fixes: into a single line without a newline in the middle. > --- > v2: resend when tree is open and reformat commit message > > drivers/pci/controller/dwc/pci-dra7xx.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/pci/controller/dwc/pci-dra7xx.c b/drivers/pci/controller/dwc/pci-dra7xx.c > index 4fe3b0cb72ec..c329d107b811 100644 > --- a/drivers/pci/controller/dwc/pci-dra7xx.c > +++ b/drivers/pci/controller/dwc/pci-dra7xx.c > @@ -762,8 +762,10 @@ static int dra7xx_pcie_probe(struct platform_device *pdev) > for (i = 0; i < phy_count; i++) { > snprintf(name, sizeof(name), "pcie-phy%d", i); > phy[i] = devm_phy_get(dev, name); > - if (IS_ERR(phy[i])) > - return PTR_ERR(phy[i]); > + if (IS_ERR(phy[i])) { > + ret = PTR_ERR(phy[i]); > + goto err_link; > + } > > link[i] = device_link_add(dev, &phy[i]->dev, DL_FLAG_STATELESS); > if (!link[i]) { > -- > 2.46.1 >
© 2016 - 2024 Red Hat, Inc.