| From 9c428f803a6017ecb1368aeba321f4f51eaa22f8 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 8 Apr 2022 09:49:41 +0000 |
| Subject: dpaa_eth: Fix missing of_node_put in dpaa_get_ts_info() |
| |
| From: Lv Ruyi <lv.ruyi@zte.com.cn> |
| |
| [ Upstream commit 1a7eb80d170c28be2928433702256fe2a0bd1e0f ] |
| |
| Both of of_get_parent() and of_parse_phandle() return node pointer with |
| refcount incremented, use of_node_put() on it to decrease refcount |
| when done. |
| |
| Reported-by: Zeal Robot <zealci@zte.com.cn> |
| Signed-off-by: Lv Ruyi <lv.ruyi@zte.com.cn> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c | 8 ++++++-- |
| 1 file changed, 6 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c b/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c |
| index 7ce2e99b594d..0a186d16e73f 100644 |
| --- a/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c |
| +++ b/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c |
| @@ -506,11 +506,15 @@ static int dpaa_get_ts_info(struct net_device *net_dev, |
| info->phc_index = -1; |
| |
| fman_node = of_get_parent(mac_node); |
| - if (fman_node) |
| + if (fman_node) { |
| ptp_node = of_parse_phandle(fman_node, "ptimer-handle", 0); |
| + of_node_put(fman_node); |
| + } |
| |
| - if (ptp_node) |
| + if (ptp_node) { |
| ptp_dev = of_find_device_by_node(ptp_node); |
| + of_node_put(ptp_node); |
| + } |
| |
| if (ptp_dev) |
| ptp = platform_get_drvdata(ptp_dev); |
| -- |
| 2.35.1 |
| |