memory: atmel-ebi: add missing of_node_put for loop iteration
authorKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Fri, 23 Apr 2021 10:18:15 +0000 (12:18 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Jul 2021 14:17:54 +0000 (16:17 +0200)
[ Upstream commit 907c5bbb514a4676160e79764522fff56ce3448e ]

Early exits from for_each_available_child_of_node() should decrement the
node reference counter.  Reported by Coccinelle:

  drivers/memory/atmel-ebi.c:593:1-33: WARNING:
    Function "for_each_available_child_of_node" should have of_node_put() before return around line 604.

Fixes: 6a4ec4cd0888 ("memory: add Atmel EBI (External Bus Interface) driver")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Link: https://lore.kernel.org/r/20210423101815.119341-2-krzysztof.kozlowski@canonical.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/memory/atmel-ebi.c

index b907865d4664db167a4931edb3479cf11069de70..2b9283d4fcb1ea32b37c23d960893ffffe3c4f6b 100644 (file)
@@ -579,8 +579,10 @@ static int atmel_ebi_probe(struct platform_device *pdev)
                                child);
 
                        ret = atmel_ebi_dev_disable(ebi, child);
-                       if (ret)
+                       if (ret) {
+                               of_node_put(child);
                                return ret;
+                       }
                }
        }