Re: [PATCH] irqchip/loongson-liointc: Fix an error handling path in liointc_init()

From: Huacai Chen
Date: Mon May 23 2022 - 23:47:42 EST


Hi, Christophe,

On Tue, May 24, 2022 at 10:50 AM Huacai Chen <chenhuacai@xxxxxxxxxx> wrote:
>
> Hi, Christophe,
>
> On Sun, May 22, 2022 at 9:44 PM Christophe JAILLET
> <christophe.jaillet@xxxxxxxxxx> wrote:
> >
> > If a of_property_match_string() call fails, we still need to release some
> > resources.
> > Add the corresponding goto instead of a direct return.
> Your patch is correct, but 807e93d0ecbb hasn't been upstream, I don't
> know how to handle it.
>
> Huacai
> >
> > Fixes: 807e93d0ecbb ("irqchip/loongson-liointc: Add ACPI init support")
> > Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
> > ---
> > drivers/irqchip/irq-loongson-liointc.c | 6 ++++--
> > 1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/irqchip/irq-loongson-liointc.c b/drivers/irqchip/irq-loongson-liointc.c
> > index ff3cb5b05710..2227b702a81d 100644
> > --- a/drivers/irqchip/irq-loongson-liointc.c
> > +++ b/drivers/irqchip/irq-loongson-liointc.c
> > @@ -185,8 +185,10 @@ static int liointc_init(phys_addr_t addr, unsigned long size, int revision,
> > int index = of_property_match_string(node,
> > "reg-names", core_reg_names[i]);
> >
> > - if (index < 0)
> > - return -EINVAL;
> > + if (index < 0) {
> > + err = -EINVAL;
> > + goto out_iounmap;
> > + }
Just goto out_iounmap is OK, because it returns -EINVAL at last.
I've squash your patch to the original one and add a Co-developed-by:,
not sure it is the best solution. Thanks.

Huacai
> >
> > priv->core_isr[i] = of_iomap(node, index);
> > }
> > --
> > 2.34.1
> >