summaryrefslogtreecommitdiff
path: root/drivers/misc
diff options
context:
space:
mode:
authorMiaoqian Lin <linmq006@gmail.com>2022-06-05 10:00:38 +0400
committerMichael Ellerman <mpe@ellerman.id.au>2022-11-24 23:12:19 +1100
commit1d09697ff22908ae487fc8c4fbde1811732be523 (patch)
treef29727f402ee8dec0bb3fd729dab633a2e958d4c /drivers/misc
parent37195edebf479b94f1e20c2a83a29e4beebe7ff5 (diff)
downloadlinux-starfive-1d09697ff22908ae487fc8c4fbde1811732be523.tar.gz
linux-starfive-1d09697ff22908ae487fc8c4fbde1811732be523.tar.bz2
linux-starfive-1d09697ff22908ae487fc8c4fbde1811732be523.zip
cxl: Fix refcount leak in cxl_calc_capp_routing
of_get_next_parent() returns a node pointer with refcount incremented, we should use of_node_put() on it when not need anymore. This function only calls of_node_put() in normal path, missing it in the error path. Add missing of_node_put() to avoid refcount leak. Fixes: f24be42aab37 ("cxl: Add psl9 specific code") Signed-off-by: Miaoqian Lin <linmq006@gmail.com> Acked-by: Andrew Donnellan <ajd@linux.ibm.com> Acked-by: Frederic Barrat <fbarrat@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20220605060038.62217-1-linmq006@gmail.com
Diffstat (limited to 'drivers/misc')
-rw-r--r--drivers/misc/cxl/pci.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c
index 3de0aea62ade..62385a529d86 100644
--- a/drivers/misc/cxl/pci.c
+++ b/drivers/misc/cxl/pci.c
@@ -387,6 +387,7 @@ int cxl_calc_capp_routing(struct pci_dev *dev, u64 *chipid,
rc = get_phb_index(np, phb_index);
if (rc) {
pr_err("cxl: invalid phb index\n");
+ of_node_put(np);
return rc;
}