On Fri, Apr 17, 2009 at 12:08 AM, Michal Simek <mon...@monstr.eu> wrote: > Hi All, > > I have got email from Ilpo about prom_parse file. > I take this file from powerpc. Who did write prom_parse file and take care > about?
Posting to the linuxppc-dev list is sufficient to start. There are several people who may be interested. > BTW: What about to move prom_parse file to any generic location as we > discussed in past? > Any volunteer? I'm kind of working on it. More specifically, I'm looking at factoring out fdt stuff into common code (drivers/of/of_fdt.c). But I haven't made a whole lot of progress yet. > -------- Original Message -------- > Subject: [RFC!] [PATCH] microblaze: fix bug in error handling > Date: Thu, 16 Apr 2009 23:05:53 +0300 (EEST) > From: Ilpo Järvinen <ilpo.jarvi...@helsinki.fi> > To: mon...@monstr.eu > CC: microblaze-ucli...@itee.uq.edu.au > > While some version of the patches were on the lkml I read > some part of the code briefly through but my feedback got > stuck into postponed emails, so here's one correctness > related issue I might have found (the rest were just > cosmetic things). > > I'm not sure if the latter return needs the of_node_put or not > but it seems more likely than not. Yes, it does. This change is applicable to arch/powerpc/kernel/prom_parse.c too. > > Not even compile tested. > > Signed-off-by: Ilpo Järvinen <ilpo.jarvi...@helsinki.fi> > --- > arch/microblaze/kernel/prom_parse.c | 11 +++++++---- > 1 files changed, 7 insertions(+), 4 deletions(-) > > diff --git a/arch/microblaze/kernel/prom_parse.c > b/arch/microblaze/kernel/prom_parse.c > index ae0352e..d1174bc 100644 > --- a/arch/microblaze/kernel/prom_parse.c > +++ b/arch/microblaze/kernel/prom_parse.c > @@ -927,20 +927,23 @@ int of_irq_map_one(struct device_node *device, > /* Get size of interrupt specifier */ > tmp = of_get_property(p, "#interrupt-cells", NULL); > if (tmp == NULL) { > - of_node_put(p); > - return -EINVAL; > + res = -EINVAL; > + goto out; > } > intsize = *tmp; > > pr_debug(" intsize=%d intlen=%d\n", intsize, intlen); > > /* Check index */ > - if ((index + 1) * intsize > intlen) > - return -EINVAL; > + if ((index + 1) * intsize > intlen) { > + res = -EINVAL; > + goto out; > + } > > /* Get new specifier and map it */ > res = of_irq_map_raw(p, intspec + index * intsize, intsize, > addr, out_irq); > +out: > of_node_put(p); > return res; > } > -- > 1.5.6.5 > > > -- > Michal Simek, Ing. (M.Eng) > w: www.monstr.eu p: +42-0-721842854 > -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev