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

From: Christophe JAILLET
Date: Tue May 24 2022 - 01:37:10 EST


Le 24/05/2022 à 05:47, Huacai Chen a écrit :
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.

Yes, agreed.

I've squash your patch to the original one and add a Co-developed-by:,
not sure it is the best solution. Thanks.

Squashing in the original patch is fine for me. It is what is usually done in such cases.

The Co-developed-by: is maybe a bit to much. I've just fixed a bug that can't happen (IMHO) in real life. I'll let you decide what is more relevant.
With or without the tag is fine for me as well.

CJ



Huacai

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