From: Sun Ke Date: Thu, 8 Sep 2022 04:02:26 +0000 (+0800) Subject: net: dsa: microchip: lan937x: fix reference count leak in lan937x_mdio_register() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=2f8a786f472445d66348859af8795aa6ffd9ff8c;p=linux.git net: dsa: microchip: lan937x: fix reference count leak in lan937x_mdio_register() This node pointer is returned by of_find_compatible_node() with refcount incremented in this function. of_node_put() on it before exitting this function. Fixes: c9cd961c0d43 ("net: dsa: microchip: lan937x: add interrupt support for port phy link") Signed-off-by: Sun Ke Reviewed-by: Andrew Lunn Link: https://lore.kernel.org/r/20220908040226.871690-1-sunke32@huawei.com Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/dsa/microchip/lan937x_main.c b/drivers/net/dsa/microchip/lan937x_main.c index 9b6760b1e5723..3e83f8ca0f09a 100644 --- a/drivers/net/dsa/microchip/lan937x_main.c +++ b/drivers/net/dsa/microchip/lan937x_main.c @@ -238,8 +238,10 @@ static int lan937x_mdio_register(struct ksz_device *dev) ds->slave_mii_bus = bus; ret = lan937x_irq_phy_setup(dev); - if (ret) + if (ret) { + of_node_put(mdio_np); return ret; + } ret = devm_of_mdiobus_register(ds->dev, bus, mdio_np); if (ret) {