提交 9d4f20a4 编写于 作者: Y Yang Yingliang 提交者: David S. Miller

net: ethernet: mtk_eth_wed: add missing put_device() in mtk_wed_add_hw()

After calling get_device() in mtk_wed_add_hw(), in error path, put_device()
needs be called.

Fixes: 804775df ("net: ethernet: mtk_eth_soc: add support for Wireless Ethernet Dispatch (WED)")
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 b3d0d981
...@@ -1077,11 +1077,11 @@ void mtk_wed_add_hw(struct device_node *np, struct mtk_eth *eth, ...@@ -1077,11 +1077,11 @@ void mtk_wed_add_hw(struct device_node *np, struct mtk_eth *eth,
get_device(&pdev->dev); get_device(&pdev->dev);
irq = platform_get_irq(pdev, 0); irq = platform_get_irq(pdev, 0);
if (irq < 0) if (irq < 0)
return; goto err_put_device;
regs = syscon_regmap_lookup_by_phandle(np, NULL); regs = syscon_regmap_lookup_by_phandle(np, NULL);
if (IS_ERR(regs)) if (IS_ERR(regs))
return; goto err_put_device;
rcu_assign_pointer(mtk_soc_wed_ops, &wed_ops); rcu_assign_pointer(mtk_soc_wed_ops, &wed_ops);
...@@ -1124,8 +1124,14 @@ void mtk_wed_add_hw(struct device_node *np, struct mtk_eth *eth, ...@@ -1124,8 +1124,14 @@ void mtk_wed_add_hw(struct device_node *np, struct mtk_eth *eth,
hw_list[index] = hw; hw_list[index] = hw;
mutex_unlock(&hw_lock);
return;
unlock: unlock:
mutex_unlock(&hw_lock); mutex_unlock(&hw_lock);
err_put_device:
put_device(&pdev->dev);
} }
void mtk_wed_exit(void) void mtk_wed_exit(void)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册