net: pcs: Add missing put_device call in miic_create
[ Upstream commit 829c6524d6729d05a82575dbcc16f99be5ee843d ]
The reference of pdev->dev is taken by of_find_device_by_node, so
it should be released when not need anymore.
Fixes: 7dc54d3b8d
("net: pcs: add Renesas MII converter driver")
Signed-off-by: Xiang Yang <xiangyang3@huawei.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
120a89c36d
commit
a41e5a79a0
@ -317,15 +317,21 @@ struct phylink_pcs *miic_create(struct device *dev, struct device_node *np)
|
||||
|
||||
pdev = of_find_device_by_node(pcs_np);
|
||||
of_node_put(pcs_np);
|
||||
if (!pdev || !platform_get_drvdata(pdev))
|
||||
if (!pdev || !platform_get_drvdata(pdev)) {
|
||||
if (pdev)
|
||||
put_device(&pdev->dev);
|
||||
return ERR_PTR(-EPROBE_DEFER);
|
||||
}
|
||||
|
||||
miic_port = kzalloc(sizeof(*miic_port), GFP_KERNEL);
|
||||
if (!miic_port)
|
||||
if (!miic_port) {
|
||||
put_device(&pdev->dev);
|
||||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
|
||||
miic = platform_get_drvdata(pdev);
|
||||
device_link_add(dev, miic->dev, DL_FLAG_AUTOREMOVE_CONSUMER);
|
||||
put_device(&pdev->dev);
|
||||
|
||||
miic_port->miic = miic;
|
||||
miic_port->port = port - 1;
|
||||
|
Loading…
Reference in New Issue
Block a user