net: dsa: qca8k: put MDIO controller OF node if unavailable
[ Upstream commit08932323cc
] It was pointed out during the review [1] of commite66bf63a7f
("net: dsa: qca8k: skip MDIO bus creation if its OF node has status = "disabled"") that we now leak a reference to the "mdio" OF node if it is disabled. This is only a concern when using dynamic OF as far as I can tell (like probing on an overlay), since OF nodes are never freed in the regular case. Additionally, I'm unaware of any actual device trees (in production or elsewhere) which have status = "disabled" for the MDIO OF node. So handling this as a simple enhancement. [1] https://lore.kernel.org/netdev/CAJq09z4--Ug+3FAmp=EimQ8HTQYOWOuVon-PUMGB5a1N=RPv4g@mail.gmail.com/ Suggested-by: Luiz Angelo Daros de Luca <luizluca@gmail.com> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
649e24fc5c
commit
8d390b8384
|
@ -954,7 +954,7 @@ qca8k_mdio_register(struct qca8k_priv *priv)
|
|||
|
||||
mdio = of_get_child_by_name(dev->of_node, "mdio");
|
||||
if (mdio && !of_device_is_available(mdio))
|
||||
goto out;
|
||||
goto out_put_node;
|
||||
|
||||
bus = devm_mdiobus_alloc(dev);
|
||||
if (!bus) {
|
||||
|
@ -988,7 +988,6 @@ qca8k_mdio_register(struct qca8k_priv *priv)
|
|||
|
||||
out_put_node:
|
||||
of_node_put(mdio);
|
||||
out:
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue