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)
committerUlf Hansson <ulf.hansson@linaro.org>
Thu, 21 Jul 2022 16:03:08 +0000 (18:03 +0200)
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>
drivers/mmc/host/cavium-thunderx.c

index 76013bb..202b1d6 100644 (file)
@@ -142,8 +142,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++;
        }