]> git.itanic.dy.fi Git - linux-stable/commitdiff
powerpc/85xx: Add missing of_node_get/put() in ge_imp3a_pci_assign_primary()
authorLiang He <windhl@126.com>
Fri, 1 Jul 2022 14:01:19 +0000 (22:01 +0800)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 5 Sep 2022 07:30:29 +0000 (17:30 +1000)
for_each_node_by_type() will automatically increase and decrease
the refcount during the iteration. However, there is a reference
escaped into global 'fsl_pci_primary' and we need to handle it.

Signed-off-by: Liang He <windhl@126.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220701140119.245435-1-windhl@126.com
arch/powerpc/platforms/85xx/ge_imp3a.c

index 8e827376d97b8969046ed60b77b507d9c23394e1..e3e8f18825a1b5ff66fb48f811b9de4d8a5d2346 100644 (file)
@@ -89,8 +89,10 @@ static void __init ge_imp3a_pci_assign_primary(void)
                    of_device_is_compatible(np, "fsl,mpc8548-pcie") ||
                    of_device_is_compatible(np, "fsl,p2020-pcie")) {
                        of_address_to_resource(np, 0, &rsrc);
-                       if ((rsrc.start & 0xfffff) == 0x9000)
-                               fsl_pci_primary = np;
+                       if ((rsrc.start & 0xfffff) == 0x9000) {
+                               of_node_put(fsl_pci_primary);
+                               fsl_pci_primary = of_node_get(np);
+                       }
                }
        }
 #endif