12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- From e0bb4659e235770e6f53b3692e958591f49448f5 Mon Sep 17 00:00:00 2001
- From: Yang Yingliang <[email protected]>
- Date: Mon, 17 Oct 2022 11:51:56 +0800
- Subject: [PATCH 3/3] net: ethernet: mtk_eth_wed: add missing of_node_put()
- The device_node pointer returned by of_parse_phandle() with refcount
- incremented, when finish using it, the refcount need be decreased.
- Fixes: 804775dfc288 ("net: ethernet: mtk_eth_soc: add support for Wireless Ethernet Dispatch (WED)")
- Signed-off-by: Yang Yingliang <[email protected]>
- Signed-off-by: David S. Miller <[email protected]>
- ---
- drivers/net/ethernet/mediatek/mtk_wed.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
- --- a/drivers/net/ethernet/mediatek/mtk_wed.c
- +++ b/drivers/net/ethernet/mediatek/mtk_wed.c
- @@ -1079,7 +1079,7 @@ void mtk_wed_add_hw(struct device_node *
-
- pdev = of_find_device_by_node(np);
- if (!pdev)
- - return;
- + goto err_of_node_put;
-
- get_device(&pdev->dev);
- irq = platform_get_irq(pdev, 0);
- @@ -1139,6 +1139,8 @@ unlock:
- mutex_unlock(&hw_lock);
- err_put_device:
- put_device(&pdev->dev);
- +err_of_node_put:
- + of_node_put(np);
- }
-
- void mtk_wed_exit(void)
- @@ -1159,6 +1161,7 @@ void mtk_wed_exit(void)
- hw_list[i] = NULL;
- debugfs_remove(hw->debugfs_dir);
- put_device(hw->dev);
- + of_node_put(hw->node);
- kfree(hw);
- }
- }
|