Re: [PATCH] fix: net: mediatek: mtk_star_mdio_init: fix double of_node_put after devm_of_mdiobus_register

From: WenTao Liang

Date: Sun Jun 28 2026 - 00:01:03 EST




> 2026年6月26日 23:20,WenTao Liang <vulab@xxxxxxxxxxx> 写道:
>
> After devm_of_mdiobus_register succeeds, the mdio_node reference
> ownership is transferred to the mii_bus device (released via
> mdiobus_release on device teardown). However, the function
> unconditionally calls of_node_put(mdio_node) after registration, causing
> a double put.
>
> Only call of_node_put when devm_of_mdiobus_register fails (i.e., when
> ownership was not transferred). On success, the bus driver manages the
> reference lifecycle.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: 9ed0a3fac08b ("net: ethernet: mtk-star-emac: use devm_of_mdiobus_register()")
> Signed-off-by: WenTao Liang <vulab@xxxxxxxxxxx>
> ---
> drivers/net/ethernet/mediatek/mtk_star_emac.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/ethernet/mediatek/mtk_star_emac.c b/drivers/net/ethernet/mediatek/mtk_star_emac.c
> index b83886a41121..b949dd240e6b 100644
> --- a/drivers/net/ethernet/mediatek/mtk_star_emac.c
> +++ b/drivers/net/ethernet/mediatek/mtk_star_emac.c
> @@ -1446,7 +1446,10 @@ static int mtk_star_mdio_init(struct net_device *ndev)
> priv->mii->priv = priv;
>
> ret = devm_of_mdiobus_register(dev, priv->mii, mdio_node);
> + if (ret)
> + of_node_put(mdio_node);
>
> + return ret;
> out_put_node:
> of_node_put(mdio_node);
> return ret;
> --
> 2.39.5 (Apple Git-154)

Please ignore this patch. I will resend a proper version after
learning the kernel submission process.

Apologies for the noise.

Best regards,
WenTao Liang