diff options
author | Russell King (Oracle) <rmk+kernel@armlinux.org.uk> | 2021-12-13 11:05:13 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-12-13 14:58:07 +0000 |
commit | d33dae51645c0d837e587000f3131118fcd6bf5e (patch) | |
tree | 208da06badcad7d9622ef318504e143d222524ca /drivers/net/phy/mdio_bus.c | |
parent | be565ec71d1d59438bed0c7ed0a252a327e0b0ef (diff) |
net: phy: add a note about refcounting
Recently, a patch has been submitted to "fix" the refcounting for a DT
node in of_mdiobus_link_mdiodev(). This is not a leaked refcount. The
refcount is passed to the new device.
Sadly, coccicheck identifies this location as a leaked refcount, which
means we're likely to keep getting patches to "fix" this. However,
fixing this will cause breakage. Add a comment to state that the lack
of of_node_put() here is intentional.
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy/mdio_bus.c')
-rw-r--r-- | drivers/net/phy/mdio_bus.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c index c204067f1890..c198722e4871 100644 --- a/drivers/net/phy/mdio_bus.c +++ b/drivers/net/phy/mdio_bus.c @@ -460,6 +460,9 @@ static void of_mdiobus_link_mdiodev(struct mii_bus *bus, if (addr == mdiodev->addr) { device_set_node(dev, of_fwnode_handle(child)); + /* The refcount on "child" is passed to the mdio + * device. Do _not_ use of_node_put(child) here. + */ return; } } |