Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b0c6645 authored by John Paul Adrian Glaubitz's avatar John Paul Adrian Glaubitz Committed by Greg Kroah-Hartman
Browse files

irqchip/jcore-aic: Fix missing allocation of IRQ descriptors



[ Upstream commit 4848229494a323eeaab62eee5574ef9f7de80374 ]

The initialization function for the J-Core AIC aic_irq_of_init() is
currently missing the call to irq_alloc_descs() which allocates and
initializes all the IRQ descriptors. Add missing function call and
return the error code from irq_alloc_descs() in case the allocation
fails.

Fixes: 981b58f6 ("irqchip/jcore-aic: Add J-Core AIC driver")
Signed-off-by: default avatarJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Tested-by: default avatarRob Landley <rob@landley.net>
Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20230510163343.43090-1-glaubitz@physik.fu-berlin.de


Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent d244927e
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ static int __init aic_irq_of_init(struct device_node *node,
	unsigned min_irq = JCORE_AIC2_MIN_HWIRQ;
	unsigned dom_sz = JCORE_AIC_MAX_HWIRQ+1;
	struct irq_domain *domain;
	int ret;

	pr_info("Initializing J-Core AIC\n");

@@ -100,6 +101,12 @@ static int __init aic_irq_of_init(struct device_node *node,
	jcore_aic.irq_unmask = noop;
	jcore_aic.name = "AIC";

	ret = irq_alloc_descs(-1, min_irq, dom_sz - min_irq,
			      of_node_to_nid(node));

	if (ret < 0)
		return ret;

	domain = irq_domain_add_legacy(node, dom_sz - min_irq, min_irq, min_irq,
				       &jcore_aic_irqdomain_ops,
				       &jcore_aic);