diff mbox series

[v1,1/1] ata: sata_dwc_460ex: No need to call phy_exit() befre phy_init()

Message ID 20210727125130.19977-1-andriy.shevchenko@linux.intel.com
State New
Headers show
Series [v1,1/1] ata: sata_dwc_460ex: No need to call phy_exit() befre phy_init() | expand

Commit Message

Andy Shevchenko July 27, 2021, 12:51 p.m. UTC
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 <andriy.shevchenko@linux.intel.com>
---
 drivers/ata/sata_dwc_460ex.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

Comments

Jens Axboe July 28, 2021, 1:30 a.m. UTC | #1
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.
diff mbox series

Patch

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)