aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/pasemi/pci.c
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2022-09-05 14:56:37 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2022-09-06 11:03:31 +1000
commitc28c2d4abdf95655001992c4f52dc243ba00cac3 (patch)
treedfcebd1a3c0274d22c01c55c5cf44d2edf985091 /arch/powerpc/platforms/pasemi/pci.c
parentpowerpc/pasemi: Use strscpy instead of strlcpy (diff)
downloadlinux-dev-c28c2d4abdf95655001992c4f52dc243ba00cac3.tar.xz
linux-dev-c28c2d4abdf95655001992c4f52dc243ba00cac3.zip
powerpc/pasemi: Use of_root in pas_pci_init()
Currently in pas_pci_init() a reference to the root node is leaked due to a missing of_node_put(). Instead just use of_root directly. Note that converting to of_find_compatible_node(NULL, ...) would not be entirely equivalent, because that would check the compatible property of the root node, whereas using of_root skips checking the root node and start the search at the first child of the root. Reported-by: Liang He <windhl@126.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20220906010313.1296714-1-mpe@ellerman.id.au
Diffstat (limited to '')
-rw-r--r--arch/powerpc/platforms/pasemi/pci.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/powerpc/platforms/pasemi/pci.c b/arch/powerpc/platforms/pasemi/pci.c
index 55f0160910bf..f27d31414737 100644
--- a/arch/powerpc/platforms/pasemi/pci.c
+++ b/arch/powerpc/platforms/pasemi/pci.c
@@ -270,18 +270,12 @@ static int __init pas_add_bridge(struct device_node *dev)
void __init pas_pci_init(void)
{
- struct device_node *np, *root;
+ struct device_node *np;
int res;
- root = of_find_node_by_path("/");
- if (!root) {
- pr_crit("pas_pci_init: can't find root of device tree\n");
- return;
- }
-
pci_set_flags(PCI_SCAN_ALL_PCIE_DEVS);
- np = of_find_compatible_node(root, NULL, "pasemi,rootbus");
+ np = of_find_compatible_node(of_root, NULL, "pasemi,rootbus");
if (np) {
res = pas_add_bridge(np);
of_node_put(np);