diff options
author | Pierre Gondois <pierre.gondois@arm.com> | 2022-09-30 16:49:36 +0200 |
---|---|---|
committer | Rob Herring <robh@kernel.org> | 2022-10-03 11:21:37 -0500 |
commit | 7a7f58575483a74db4cc2c1e37f21ddda057083d (patch) | |
tree | 0f4adb491181fafdaed5658b84395c77e8e84aa2 /drivers/of/base.c | |
parent | abb1bc7ed95a98ae828470a0e482e2b7f8e9631c (diff) |
of: base: Shift refcount decrement in of_find_last_cache_level()
Currently, of_find_next_cache_node() and of_property_read_u32()
are called on objects after their refcount have been decremented.
Re-order the calls to decrement the refcount after the function
calls.
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
Link: https://lore.kernel.org/r/20220930144936.2882481-1-pierre.gondois@arm.com
Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'drivers/of/base.c')
-rw-r--r-- | drivers/of/base.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/of/base.c b/drivers/of/base.c index 5e7c11ca1007..209953c4f6c6 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -2088,12 +2088,13 @@ int of_find_last_cache_level(unsigned int cpu) struct device_node *prev = NULL, *np = of_cpu_device_node_get(cpu); while (np) { + of_node_put(prev); prev = np; - of_node_put(np); np = of_find_next_cache_node(np); } of_property_read_u32(prev, "cache-level", &cache_level); + of_node_put(prev); return cache_level; } |