Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: dsa: microchip: cleanup error handling in ksz_mdio_register

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>

authored by

Oleksij Rempel and committed by
Jakub Kicinski
8bbba416 9afaf0ee

+4 -6
+4 -6
drivers/net/dsa/microchip/ksz_common.c
··· 2409 2409 2410 2410 bus = devm_mdiobus_alloc(ds->dev); 2411 2411 if (!bus) { 2412 - of_node_put(mdio_np); 2413 - return -ENOMEM; 2412 + ret = -ENOMEM; 2413 + goto put_mdio_node; 2414 2414 } 2415 2415 2416 2416 if (dev->dev_ops->mdio_bus_preinit) { ··· 2455 2455 2456 2456 if (dev->irq > 0) { 2457 2457 ret = ksz_irq_phy_setup(dev); 2458 - if (ret) { 2459 - of_node_put(mdio_np); 2460 - return ret; 2461 - } 2458 + if (ret) 2459 + goto put_mdio_node; 2462 2460 } 2463 2461 2464 2462 ret = devm_of_mdiobus_register(ds->dev, bus, mdio_np);