mmc: cavium-thunderx: Add of_node_put() when breaking out of loop
authorLiang He <windhl@126.com>
Tue, 19 Jul 2022 09:52:16 +0000 (17:52 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Aug 2022 09:11:22 +0000 (11:11 +0200)
[ Upstream commit 7ee480795e41db314f2c445c65ed854a5d6e8e32 ]

In thunder_mmc_probe(), we should call of_node_put() when breaking
out of for_each_child_of_node() which has increased and decreased
the refcount during each iteration.

Fixes: 166bac38c3c5 ("mmc: cavium: Add MMC PCI driver for ThunderX SOCs")
Signed-off-by: Liang He <windhl@126.com>
Acked-by: Robert Richter <rric@kernel.org>
Link: https://lore.kernel.org/r/20220719095216.1241601-2-windhl@126.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mmc/host/cavium-thunderx.c

index eee08d81b24214c3ea0c5555fa1f1f419249f9d6..f79806e31e7ea704459ce567a12384da776d6a2f 100644 (file)
@@ -138,8 +138,10 @@ static int thunder_mmc_probe(struct pci_dev *pdev,
                                continue;
 
                        ret = cvm_mmc_of_slot_probe(&host->slot_pdev[i]->dev, host);
-                       if (ret)
+                       if (ret) {
+                               of_node_put(child_node);
                                goto error;
+                       }
                }
                i++;
        }