Message ID | 20240828032343.1218749-6-ruanjinjie@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | net: Simplified with scoped function | expand |
On Wed, 28 Aug 2024 11:23:35 +0800 Jinjie Ruan <ruanjinjie@huawei.com> wrote: > 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") > Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Jinjie Ruan wrote: > 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") > Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> Fixes should go to net. Should not be part of this series?
On 2024/8/28 23:45, Willem de Bruijn wrote: > Jinjie Ruan wrote: >> 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") >> Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> > > Fixes should go to net. Should not be part of this series? Thank you! I will separate it out.
On 2024/8/28 23:45, Willem de Bruijn wrote: > Jinjie Ruan wrote: >> 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") >> Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> > > Fixes should go to net. Should not be part of this series? However, they have context dependency. If one is merged, the other needs to be rebased.
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 8f5314c1fecc..243dae686992 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -3424,11 +3424,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; }
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") Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> --- v2: - Split into 2 patches. - Use of_node_put() rather than __free() to fix it. --- drivers/net/phy/phy_device.c | 2 ++ 1 file changed, 2 insertions(+)