[PATCH net-next v1 4/5] net: dsa: microchip: cleanup error handling in ksz_mdio_register

From: Oleksij Rempel
Date: Sat Oct 26 2024 - 02:36:11 EST


Replace repeated cleanup code with a single error path using a label.

Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
---
drivers/net/dsa/microchip/ksz_common.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c
index bcd963191cb25..f08fa52dd1387 100644
--- a/drivers/net/dsa/microchip/ksz_common.c
+++ b/drivers/net/dsa/microchip/ksz_common.c
@@ -2339,8 +2339,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) {
@@ -2385,10 +2385,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);
--
2.39.5