]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net: phy: Fix missing of_node_put() for leds
authorJinjie Ruan <ruanjinjie@huawei.com>
Fri, 30 Aug 2024 02:20:25 +0000 (10:20 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 3 Sep 2024 10:38:17 +0000 (12:38 +0200)
The call of of_get_child_by_name() will cause refcount incremented
for leds, if it succeeds, it should call of_node_put() to decrease
it, fix it.

Fixes: 01e5b728e9e4 ("net: phy: Add a binding for PHY LEDs")
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20240830022025.610844-1-ruanjinjie@huawei.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/phy/phy_device.c

index 7752e9386b40625ff7fd5c70118632ab2e1ce292..6bb2793de0a94a9076debe04254fc4aefd235e6d 100644 (file)
@@ -3347,11 +3347,13 @@ static int of_phy_leds(struct phy_device *phydev)
                err = of_phy_led(phydev, led);
                if (err) {
                        of_node_put(led);
+                       of_node_put(leds);
                        phy_leds_unregister(phydev);
                        return err;
                }
        }
 
+       of_node_put(leds);
        return 0;
 }