summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLiang He <windhl@126.com>2022-07-19 11:10:51 +0200
committerUlf Hansson <ulf.hansson@linaro.org>2022-07-21 18:02:41 +0200
commit883c1d6fa4368a63cae2d6ae2d9c91141c60e233 (patch)
tree62ad28fb08ec5584f37cfb9b73139c505eb1dbf8 /drivers
parentmmc: sdhci-brcmstb: use clk_get_rate(base_clk) in PM resume (diff)
downloadlinux-883c1d6fa4368a63cae2d6ae2d9c91141c60e233.tar.xz
linux-883c1d6fa4368a63cae2d6ae2d9c91141c60e233.zip
mmc: core: quirks: Add of_node_put() when breaking out of loop
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mmc/core/quirks.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mmc/core/quirks.h b/drivers/mmc/core/quirks.h
index f879dc63d936..be4393988086 100644
--- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h
@@ -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;