Re: [PATCH] Revert "memory: ti-aemif: don't needlessly iterate over child nodes"

From: Krzysztof Kozlowski
Date: Sun Aug 25 2024 - 04:16:03 EST


On 24/08/2024 10:02, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
>
> This reverts commit 23a641d5c2bce4c723fff9118a5d865ee6b9d05a.
>
> The first-level children of the aemif node are not the device nodes (ones
> containing the 'compatible' property) but the chip-select nodes which
> instead have their own children.
>
> of_platform_populate() will skip such nodes so we must indeed iterate
> over the direct children of the aemif node. The problem here is that we
> never call of_platform_depopulate() as it takes the root device as
> argument. We only have an unpopulated chip-select nodes so we will leak
> these devices if any of the calls to of_platform_populate() fails.
>
> I don't have a batter idea right now but my patch was not correct so we
> need to revert it. While at it: at least use the scoped variant of the
> OF node iterator. Down the line, we should find a better solution to fix
> this potential resource leak in error path.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
> ---
> drivers/memory/ti-aemif.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)

I'll drop the original commit, because my upstream (arm/soc) might
question this.

Best regards,
Krzysztof