Re: [PATCH] Revert "memory: ti-aemif: don't needlessly iterate over child nodes"
From: Krzysztof Kozlowski
Date: Sun Aug 25 2024 - 04:28:44 EST
On 25/08/2024 10:15, Krzysztof Kozlowski wrote:
> 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.
>
Dropping is non-trivial, so indeed revert.
Best regards,
Krzysztof