]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
net: macb: Reorder probe
authorHarini Katakam <harini.katakam@xilinx.com>
Thu, 8 Mar 2018 12:50:44 +0000 (18:20 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Fri, 16 Mar 2018 09:25:53 +0000 (10:25 +0100)
Reorder probe and correct exit error order as well.

Signed-off-by: Harini Katakam <harinik@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/net/ethernet/cadence/macb_main.c

index 9b59af533c37ec7130be8cda173fe8d6faf26fc2..da106e81e092e9e34d6a225ea1873b236542b851 100644 (file)
@@ -3576,38 +3576,29 @@ static int macb_probe(struct platform_device *pdev)
        if (err)
                goto err_out_free_netdev;
 
-       err = macb_mii_init(bp);
-       if (err)
-               goto err_out_free_netdev;
-
-       phydev = dev->phydev;
-
-       netif_carrier_off(dev);
-
        err = register_netdev(dev);
        if (err) {
                dev_err(&pdev->dev, "Cannot register net device, aborting.\n");
-               goto err_out_unregister_mdio;
+               goto err_out_unregister_netdev;
        }
 
-       phy_attached_info(phydev);
+       err = macb_mii_init(bp);
+       if (err)
+               goto err_out_unregister_netdev;
+
+       netif_carrier_off(dev);
 
        netdev_info(dev, "Cadence %s rev 0x%08x at 0x%08lx irq %d (%pM)\n",
                    macb_is_gem(bp) ? "GEM" : "MACB", macb_readl(bp, MID),
                    dev->base_addr, dev->irq, dev->dev_addr);
 
        phydev = bp->phy_dev;
+       phy_attached_info(phydev);
 
        return 0;
 
-err_out_unregister_mdio:
-       phy_disconnect(dev->phydev);
-       mdiobus_unregister(bp->mii_bus);
-       mdiobus_free(bp->mii_bus);
-
-       /* Shutdown the PHY if there is a GPIO reset */
-       if (bp->reset_gpio)
-               gpiod_set_value(bp->reset_gpio, 0);
+err_out_unregister_netdev:
+       unregister_netdev(dev);
 
 err_out_free_netdev:
        free_netdev(dev);