Messages in this thread | | | From | Georgi Djakov <> | Subject | Re: [PATCH] interconnect: fix memory trashing in of_count_icc_providers() | Date | Thu, 19 Nov 2020 15:52:31 +0200 |
| |
On 11/19/20 12:37, Marek Szyprowski wrote: > of_count_icc_providers() function uses for_each_available_child_of_node() > helper to recursively check all the available nodes. This helper already > properly handles child nodes' reference count, so there is no need to do > it explicitely. Remove the excessive call to of_node_put(). This fixes > memory trashing when CONFIG_OF_DYNAMIC is enabled (for example > arm/multi_v7_defconfig). > > Fixes: b1d681d8d324 ("interconnect: Add sync state support") > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Thanks Marek!
BR, Georgi
> --- > drivers/interconnect/core.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c > index 974a66725d09..5ad519c9f239 100644 > --- a/drivers/interconnect/core.c > +++ b/drivers/interconnect/core.c > @@ -1083,7 +1083,6 @@ static int of_count_icc_providers(struct device_node *np) > count++; > count += of_count_icc_providers(child); > } > - of_node_put(np); > > return count; > } >
| |