[PATCH v2] PCI: dra7xx: Added error handling in probe function when devm_phy_get() fails

Riyan Dhiman posted 1 patch 1 month, 3 weeks ago
drivers/pci/controller/dwc/pci-dra7xx.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
[PATCH v2] PCI: dra7xx: Added error handling in probe function when devm_phy_get() fails
Posted by Riyan Dhiman 1 month, 3 weeks ago
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
Re: [PATCH v2] PCI: dra7xx: Added error handling in probe function when devm_phy_get() fails
Posted by Bjorn Helgaas 1 month, 3 weeks ago
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
>