Re: [PATCH v4 02/14] irqchip/csky-apb-intc: Fix potential resource leaks

From: Tiezhu Yang
Date: Wed Jul 01 2020 - 21:18:56 EST


On 07/01/2020 09:04 PM, Markus Elfring wrote:
If remove the local variable "ret", it will look like this:
â
+++ b/drivers/irqchip/irq-csky-apb-intc.c
â
@@ -118,18 +116,23 @@ ck_intc_init_comm(struct device_node *node, struct device_node *parent)
â
- ret = irq_alloc_domain_generic_chips(root_domain, 32, 1,
+ if (irq_alloc_domain_generic_chips(root_domain, 32, 1,
"csky_intc", handle_level_irq,
- IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN, 0, 0);
- if (ret) {
+ IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN, 0, 0)) {
pr_err("C-SKY Intc irq_alloc_gc failed.\n");
â

I suggest to recheck the parameter alignment for such a function call.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/coding-style.rst?id=7c30b859a947535f2213277e827d7ac7dcff9c84#n93

OK, thank you, like this:

- ret = irq_alloc_domain_generic_chips(root_domain, 32, 1,
- "csky_intc", handle_level_irq,
- IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN, 0, 0);
- if (ret) {
+ if (irq_alloc_domain_generic_chips(root_domain, 32, 1,
+ "csky_intc", handle_level_irq,
+ IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN, 0, 0)) {
pr_err("C-SKY Intc irq_alloc_gc failed.\n");
- return -ENOMEM;
+ goto err_domain_remove;
}


Regards,
Markus