irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
[ Upstream commit 3841245e8498a789c65dedd7ffa8fb2fee2c0684 ] The alpine-msi driver has an interesting allocation error handling, where it frees the same interrupts repeatedly. Hilarity follows. This code is probably never executed, but let's fix it nonetheless. Fixes: e6b78f2c3e14 ("irqchip: Add the Alpine MSIX interrupt controller") Signed-off-by: Marc Zyngier <maz@kernel.org> Reviewed-by: Antoine Tenart <atenart@kernel.org> Cc: Tsahee Zidenberg <tsahee@annapurnalabs.com> Cc: Antoine Tenart <atenart@kernel.org> Link: https://lore.kernel.org/r/20201129135525.396671-1-maz@kernel.org Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
ebfeeb104f
commit
d05c219375
@ -165,8 +165,7 @@ static int alpine_msix_middle_domain_alloc(struct irq_domain *domain,
|
||||
return 0;
|
||||
|
||||
err_sgi:
|
||||
while (--i >= 0)
|
||||
irq_domain_free_irqs_parent(domain, virq, i);
|
||||
irq_domain_free_irqs_parent(domain, virq, i - 1);
|
||||
alpine_msix_free_sgi(priv, sgi, nr_irqs);
|
||||
return err;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user