net: dsa: Add missing of_node_put() in dsa_port_parse_of
authorMiaoqian Lin <linmq006@gmail.com>
Wed, 16 Mar 2022 08:26:02 +0000 (08:26 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 23 Mar 2022 08:13:28 +0000 (09:13 +0100)
[ Upstream commit cb0b430b4e3acc88c85e0ad2e25f2a25a5765262 ]

The device_node pointer is returned by of_parse_phandle()  with refcount
incremented. We should use of_node_put() on it when done.

Fixes: 6d4e5c570c2d ("net: dsa: get port type at parse time")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20220316082602.10785-1-linmq006@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/dsa/dsa2.c

index 71c8ef7d40870b3321daba2620b43ee43c134186..f543fca6dfcbfd718eca7fcc430b6691afc13a6f 100644 (file)
@@ -766,6 +766,7 @@ static int dsa_port_parse_of(struct dsa_port *dp, struct device_node *dn)
                struct net_device *master;
 
                master = of_find_net_device_by_node(ethernet);
+               of_node_put(ethernet);
                if (!master)
                        return -EPROBE_DEFER;