2021-07-27 12:52:09

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 1/1] ata: sata_dwc_460ex: No need to call phy_exit() befre phy_init()

Last change to device managed APIs cleaned up error path to simple phy_exit()
call, which in some cases has been executed with NULL parameter. This per se
is not a problem, but rather logical misconception: no need to free resource
when it's for sure has not been allocated yet. Fix the driver accordingly.

Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/ata/sata_dwc_460ex.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/ata/sata_dwc_460ex.c b/drivers/ata/sata_dwc_460ex.c
index f0ef844428bb..338c2e50f759 100644
--- a/drivers/ata/sata_dwc_460ex.c
+++ b/drivers/ata/sata_dwc_460ex.c
@@ -1259,24 +1259,20 @@ static int sata_dwc_probe(struct platform_device *ofdev)
irq = irq_of_parse_and_map(np, 0);
if (irq == NO_IRQ) {
dev_err(&ofdev->dev, "no SATA DMA irq\n");
- err = -ENODEV;
- goto error_out;
+ return -ENODEV;
}

#ifdef CONFIG_SATA_DWC_OLD_DMA
if (!of_find_property(np, "dmas", NULL)) {
err = sata_dwc_dma_init_old(ofdev, hsdev);
if (err)
- goto error_out;
+ return err;
}
#endif

hsdev->phy = devm_phy_optional_get(hsdev->dev, "sata-phy");
- if (IS_ERR(hsdev->phy)) {
- err = PTR_ERR(hsdev->phy);
- hsdev->phy = NULL;
- goto error_out;
- }
+ if (IS_ERR(hsdev->phy))
+ return PTR_ERR(hsdev->phy);

err = phy_init(hsdev->phy);
if (err)
--
2.30.2



2021-07-28 01:32:58

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH v1 1/1] ata: sata_dwc_460ex: No need to call phy_exit() befre phy_init()

On 7/27/21 6:51 AM, Andy Shevchenko wrote:
> Last change to device managed APIs cleaned up error path to simple phy_exit()
> call, which in some cases has been executed with NULL parameter. This per se
> is not a problem, but rather logical misconception: no need to free resource
> when it's for sure has not been allocated yet. Fix the driver accordingly.

Applied for 5.15, thanks.

--
Jens Axboe