]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: dsa: microchip: cleanup error handling in ksz_mdio_register
authorOleksij Rempel <o.rempel@pengutronix.de>
Wed, 6 Nov 2024 07:59:39 +0000 (08:59 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 12 Nov 2024 00:04:32 +0000 (16:04 -0800)
Replace repeated cleanup code with a single error path using a label.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20241106075942.1636998-5-o.rempel@pengutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/microchip/ksz_common.c

index e9460650d46e030fb963e3abf05ab5c65dea6100..26a4a8b49dc8359e8bed47bab5bf535c20340a0a 100644 (file)
@@ -2409,8 +2409,8 @@ static int ksz_mdio_register(struct ksz_device *dev)
 
        bus = devm_mdiobus_alloc(ds->dev);
        if (!bus) {
-               of_node_put(mdio_np);
-               return -ENOMEM;
+               ret = -ENOMEM;
+               goto put_mdio_node;
        }
 
        if (dev->dev_ops->mdio_bus_preinit) {
@@ -2455,10 +2455,8 @@ static int ksz_mdio_register(struct ksz_device *dev)
 
        if (dev->irq > 0) {
                ret = ksz_irq_phy_setup(dev);
-               if (ret) {
-                       of_node_put(mdio_np);
-                       return ret;
-               }
+               if (ret)
+                       goto put_mdio_node;
        }
 
        ret = devm_of_mdiobus_register(ds->dev, bus, mdio_np);