提交 4c2efd8c 编写于 作者: N Nicolas Saenz Julienne 提交者: Greg Kroah-Hartman

ethernet: fman: fix wrong of_node_put() in probe function

[ Upstream commit ecb239d96d369c23c33d41708646df646de669f4 ]

After getting a reference to the platform device's of_node the probe
function ends up calling of_find_matching_node() using the node as an
argument. The function takes care of decreasing the refcount on it. We
are then incorrectly decreasing the refcount on that node again.

This patch removes the unwarranted call to of_node_put().

Fixes: 414fd46e ("fsl/fman: Add FMan support")
Signed-off-by: NNicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
Signed-off-by: NSasha Levin <sashal@kernel.org>
上级 80eaec9b
...@@ -2786,7 +2786,7 @@ static struct fman *read_dts_node(struct platform_device *of_dev) ...@@ -2786,7 +2786,7 @@ static struct fman *read_dts_node(struct platform_device *of_dev)
if (!muram_node) { if (!muram_node) {
dev_err(&of_dev->dev, "%s: could not find MURAM node\n", dev_err(&of_dev->dev, "%s: could not find MURAM node\n",
__func__); __func__);
goto fman_node_put; goto fman_free;
} }
err = of_address_to_resource(muram_node, 0, err = of_address_to_resource(muram_node, 0,
...@@ -2795,11 +2795,10 @@ static struct fman *read_dts_node(struct platform_device *of_dev) ...@@ -2795,11 +2795,10 @@ static struct fman *read_dts_node(struct platform_device *of_dev)
of_node_put(muram_node); of_node_put(muram_node);
dev_err(&of_dev->dev, "%s: of_address_to_resource() = %d\n", dev_err(&of_dev->dev, "%s: of_address_to_resource() = %d\n",
__func__, err); __func__, err);
goto fman_node_put; goto fman_free;
} }
of_node_put(muram_node); of_node_put(muram_node);
of_node_put(fm_node);
err = devm_request_irq(&of_dev->dev, irq, fman_irq, IRQF_SHARED, err = devm_request_irq(&of_dev->dev, irq, fman_irq, IRQF_SHARED,
"fman", fman); "fman", fman);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册