The call to of_find_node_by_name returns a node pointer with refcount
incremented thus it must be explicitly decremented here after the last
usage.

Signed-off-by: Nicholas Mc Guire <hof...@osadl.org>
---

Patch found by experimental coccinelle script

Patch was compile tested with: cavium_octeon_defconfig
(with a number of sparse warnings - not related to the proposed change)

Patch is against 4.17.0 (localversion-next is next-20180614)

 arch/mips/cavium-octeon/octeon-platform.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/mips/cavium-octeon/octeon-platform.c 
b/arch/mips/cavium-octeon/octeon-platform.c
index 8505db4..1d92efb 100644
--- a/arch/mips/cavium-octeon/octeon-platform.c
+++ b/arch/mips/cavium-octeon/octeon-platform.c
@@ -320,10 +320,11 @@ static int __init octeon_ehci_device_init(void)
        ehci_node = of_find_node_by_name(NULL, "ehci");
        if (!ehci_node)
                return 0;
 
        pd = of_find_device_by_node(ehci_node);
+       of_node_put(ehci_node);
        if (!pd)
                return 0;
 
        pd->dev.platform_data = &octeon_ehci_pdata;
        octeon_ehci_hw_start(&pd->dev);
@@ -382,10 +383,11 @@ static int __init octeon_ohci_device_init(void)
        ohci_node = of_find_node_by_name(NULL, "ohci");
        if (!ohci_node)
                return 0;
 
        pd = of_find_device_by_node(ohci_node);
+       of_node_put(ohci_node);
        if (!pd)
                return 0;
 
        pd->dev.platform_data = &octeon_ohci_pdata;
        octeon_ohci_hw_start(&pd->dev);
-- 
2.1.4

Reply via email to