mmc: core: quirks: Add of_node_put() when breaking out of loop
authorLiang He <windhl@126.com>
Tue, 19 Jul 2022 09:10:51 +0000 (17:10 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Thu, 21 Jul 2022 16:02:41 +0000 (18:02 +0200)
In mmc_fixup_of_compatible_match(), we should call of_node_put()
when breaking out of for_each_child_of_node() which will increase
and decrease the refcount during one iteration.

Fixes: b360b1102670 ("mmc: core: allow to match the device tree to apply quirks")
Signed-off-by: Liang He <windhl@126.com>
Link: https://lore.kernel.org/r/20220719091051.1210806-1-windhl@126.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/quirks.h

index f879dc6..be43939 100644 (file)
@@ -163,8 +163,10 @@ static inline bool mmc_fixup_of_compatible_match(struct mmc_card *card,
        struct device_node *np;
 
        for_each_child_of_node(mmc_dev(card->host)->of_node, np) {
-               if (of_device_is_compatible(np, compatible))
+               if (of_device_is_compatible(np, compatible)) {
+                       of_node_put(np);
                        return true;
+               }
        }
 
        return false;