OSDN Git Service

mmc: sdhci-of-esdhc: Fixup use of of_find_compatible_node()
authorLiang He <windhl@126.com>
Tue, 21 Jun 2022 06:52:59 +0000 (14:52 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 12 Jul 2022 10:25:39 +0000 (12:25 +0200)
Callers of of_find_compatible_node() should drop the reference count
accordingly, so let's do that.

Signed-off-by: Liang He <windhl@126.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20220621065259.4079817-1-windhl@126.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-of-esdhc.c

index 8b3d811..e026663 100644 (file)
@@ -1419,7 +1419,7 @@ static int esdhc_hs400_prepare_ddr(struct mmc_host *mmc)
 static int sdhci_esdhc_probe(struct platform_device *pdev)
 {
        struct sdhci_host *host;
-       struct device_node *np;
+       struct device_node *np, *tp;
        struct sdhci_pltfm_host *pltfm_host;
        struct sdhci_esdhc *esdhc;
        int ret;
@@ -1464,7 +1464,9 @@ static int sdhci_esdhc_probe(struct platform_device *pdev)
        if (esdhc->vendor_ver > VENDOR_V_22)
                host->quirks &= ~SDHCI_QUIRK_NO_BUSY_IRQ;
 
-       if (of_find_compatible_node(NULL, NULL, "fsl,p2020-esdhc")) {
+       tp = of_find_compatible_node(NULL, NULL, "fsl,p2020-esdhc");
+       if (tp) {
+               of_node_put(tp);
                host->quirks |= SDHCI_QUIRK_RESET_AFTER_REQUEST;
                host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;
        }