728-v6.1-03-net-ethernet-mtk_eth_wed-add-missing-of_node_put.patch 1.3 KB

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