Message ID | 20200108203516.22268-2-agust@denx.de |
---|---|
State | New |
Headers | show |
Series | [1/2] fdtgrep: fix typos in error output | expand |
On Thu, 9 Jan 2020 at 09:35, Anatolij Gustschin <agust at denx.de> wrote: > > With some device trees (i.e. i.MX6 SoC) and longer REMOVE_PROPS list > the fdtgrep tool stops with "Internal error with fdtgrep_find_regions()". > Increase 'max_regions' count to avoid such errors. > > Signed-off-by: Anatolij Gustschin <agust at denx.de> > --- > tools/fdtgrep.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Simon Glass <sjg at chromium.org> Wow that's a lot. I wonder if we should adjust it to be unlimited?
Hi, > From: U-Boot <u-boot-bounces at lists.denx.de> On Behalf Of Simon Glass > Sent: jeudi 9 janvier 2020 21:04 > > On Thu, 9 Jan 2020 at 09:35, Anatolij Gustschin <agust at denx.de> wrote: > > > > With some device trees (i.e. i.MX6 SoC) and longer REMOVE_PROPS list > > the fdtgrep tool stops with "Internal error with fdtgrep_find_regions()". > > Increase 'max_regions' count to avoid such errors. > > > > Signed-off-by: Anatolij Gustschin <agust at denx.de> > > --- > > tools/fdtgrep.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > Reviewed-by: Simon Glass <sjg at chromium.org> > > Wow that's a lot. I wonder if we should adjust it to be unlimited? I see the same issue for device-tree when number of pincontrol node > 100 in SPL (only see for debug use case). But normally it is managed in the function (2 loops and re-alloc for the second loop if size > 100). But the loop is not correctly managed, I think it is a issue introduced by Commit e178db1d7736a92951fdc7f1fd9b8ecf4d2877ba fdtgrep: Fix logic of free() in do_fdtgrep() => retrun -1 added for the 1rst loop. I have locally a patch, but I don't yet upstream it.... It is done today with: "tools: ftdgrep: correct the find regions loop in do_fdtgrep" http://patchwork.ozlabs.org/project/uboot/list/?series=152371 Anatolij can you confirm that my patch correct also your issue ? Regards Patrick
Hi Patrick, On Fri, 10 Jan 2020 07:58:41 +0000 Patrick DELAUNAY patrick.delaunay at st.com wrote: ... > I have locally a patch, but I don't yet upstream it.... > It is done today with: > "tools: ftdgrep: correct the find regions loop in do_fdtgrep" > http://patchwork.ozlabs.org/project/uboot/list/?series=152371 > > Anatolij can you confirm that my patch correct also your issue ? Yes, your patch helps. Thanks! -- Anatolij
diff --git a/tools/fdtgrep.c b/tools/fdtgrep.c index 052d419692..8f71b1cd7f 100644 --- a/tools/fdtgrep.c +++ b/tools/fdtgrep.c @@ -778,7 +778,7 @@ static int do_fdtgrep(struct display_info *disp, const char *filename) { struct fdt_region *region = NULL; int max_regions; - int count = 100; + int count = 110; char path[1024]; char *blob; int i, ret;
With some device trees (i.e. i.MX6 SoC) and longer REMOVE_PROPS list the fdtgrep tool stops with "Internal error with fdtgrep_find_regions()". Increase 'max_regions' count to avoid such errors. Signed-off-by: Anatolij Gustschin <agust at denx.de> --- tools/fdtgrep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)