Message ID | 20221104080347.21527-1-liupeibao@loongson.cn (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | irqchip: loongson-liointc: fix improper error handling in liointc_init() | expand |
Hello! On 11/4/22 11:03 AM, Liu Peibao wrote: > For cores less than 4, eg, loongson2k1000 with 2 cores, the > of_property_match_string() may return with an error value, > which causes that liointc could not work. At least one isr > is what should be checked like previous commit <b2c4c3969fd7> > (irqchip/loongson-liointc: irqchip add 2.0 version) did. It should look like this: commit b2c4c3969fd7 ("irqchip/loongson-liointc: irqchip add 2.0 version") > Fixes: 0858ed035a85 ("irqchip/loongson-liointc: Add ACPI init support") > Signed-off-by: Liu Peibao <liupeibao@loongson.cn> [...] MBR, Sergey
On 11/4/22 5:48 PM, Sergei Shtylyov wrote: > Hello! > > On 11/4/22 11:03 AM, Liu Peibao wrote: > >> For cores less than 4, eg, loongson2k1000 with 2 cores, the >> of_property_match_string() may return with an error value, >> which causes that liointc could not work. At least one isr >> is what should be checked like previous commit <b2c4c3969fd7> >> (irqchip/loongson-liointc: irqchip add 2.0 version) did. > > It should look like this: > > commit b2c4c3969fd7 ("irqchip/loongson-liointc: irqchip add 2.0 version") > Thanks, I will update the patch. BR, Peibao >> Fixes: 0858ed035a85 ("irqchip/loongson-liointc: Add ACPI init support") >> Signed-off-by: Liu Peibao <liupeibao@loongson.cn> > [...] > > MBR, Sergey >
diff --git a/drivers/irqchip/irq-loongson-liointc.c b/drivers/irqchip/irq-loongson-liointc.c index 0da8716f8f24..c4584e2f0ad3 100644 --- a/drivers/irqchip/irq-loongson-liointc.c +++ b/drivers/irqchip/irq-loongson-liointc.c @@ -207,10 +207,13 @@ static int liointc_init(phys_addr_t addr, unsigned long size, int revision, "reg-names", core_reg_names[i]); if (index < 0) - goto out_iounmap; + continue; priv->core_isr[i] = of_iomap(node, index); } + + if (!priv->core_isr[0]) + goto out_iounmap; } /* Setup IRQ domain */
For cores less than 4, eg, loongson2k1000 with 2 cores, the of_property_match_string() may return with an error value, which causes that liointc could not work. At least one isr is what should be checked like previous commit <b2c4c3969fd7> (irqchip/loongson-liointc: irqchip add 2.0 version) did. Fixes: 0858ed035a85 ("irqchip/loongson-liointc: Add ACPI init support") Signed-off-by: Liu Peibao <liupeibao@loongson.cn> --- drivers/irqchip/irq-loongson-liointc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)