ata: sata_dwc_460ex: No need to call phy_exit() befre phy_init()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 27 Jul 2021 12:51:30 +0000 (15:51 +0300)
committerJens Axboe <axboe@kernel.dk>
Wed, 28 Jul 2021 01:30:06 +0000 (19:30 -0600)
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>
Link: https://lore.kernel.org/r/20210727125130.19977-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/ata/sata_dwc_460ex.c

index f0ef844..338c2e5 100644 (file)
@@ -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)