[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211105020711.32572-1-wanjiabing@vivo.com>
Date: Thu, 4 Nov 2021 22:07:11 -0400
From: Wan Jiabing <wanjiabing@...o.com>
To: Xiaowei Song <songxiaowei@...ilicon.com>,
Binghui Wang <wangbinghui@...ilicon.com>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Rob Herring <robh@...nel.org>,
Krzysztof WilczyĆski <kw@...ux.com>,
Bjorn Helgaas <bhelgaas@...gle.com>, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: jiabing.wan@...com, mchehab+huawei@...nel.org,
Wan Jiabing <wanjiabing@...o.com>
Subject: [PATCH v2] PCI: kirin: Fix of_node_put() issue in pcie-kirin
Fix following coccicheck warning:
./drivers/pci/controller/dwc/pcie-kirin.c:414:2-34: WARNING: Function
for_each_available_child_of_node should have of_node_put() before return.
Early exits from for_each_available_child_of_node should decrement the
node reference counter. Replace return by goto here and add a missing
of_node_put for parent.
Signed-off-by: Wan Jiabing <wanjiabing@...o.com>
---
drivers/pci/controller/dwc/pcie-kirin.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/controller/dwc/pcie-kirin.c b/drivers/pci/controller/dwc/pcie-kirin.c
index 06017e826832..b72a12bac49d 100644
--- a/drivers/pci/controller/dwc/pcie-kirin.c
+++ b/drivers/pci/controller/dwc/pcie-kirin.c
@@ -422,7 +422,8 @@ static int kirin_pcie_parse_port(struct kirin_pcie *pcie,
pcie->num_slots++;
if (pcie->num_slots > MAX_PCI_SLOTS) {
dev_err(dev, "Too many PCI slots!\n");
- return -EINVAL;
+ ret = -EINVAL;
+ goto put_node;
}
ret = of_pci_get_devfn(child);
@@ -446,6 +447,7 @@ static int kirin_pcie_parse_port(struct kirin_pcie *pcie,
return 0;
put_node:
+ of_node_put(parent);
of_node_put(child);
return ret;
}
--
2.20.1
Powered by blists - more mailing lists