[PATCH] irqchip/bcm2836: Fix return check in IPI alloc
Adam Lackorzynski
adam at l4re.org
Tue Dec 29 18:16:03 EST 2020
On Tue Dec 29, 2020 at 09:31:34 +0000, Marc Zyngier wrote:
> On 2020-12-28 22:30, Adam Lackorzynski wrote:
> > __irq_domain_alloc_irqs returns a negative error
> > code upon failure, not only 0. Also use irq_domain_alloc_irqs
> > to require less default arguments.
> >
> > Signed-off-by: Adam Lackorzynski <adam at l4re.org>
> > ---
> > drivers/irqchip/irq-bcm2836.c | 7 +++----
> > 1 file changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/irqchip/irq-bcm2836.c
> > b/drivers/irqchip/irq-bcm2836.c
> > index 5f5eb8877c41..853fd420ab2b 100644
> > --- a/drivers/irqchip/irq-bcm2836.c
> > +++ b/drivers/irqchip/irq-bcm2836.c
> > @@ -268,11 +268,10 @@ static void __init
> > bcm2836_arm_irqchip_smp_init(void)
> > ipi_domain->flags |= IRQ_DOMAIN_FLAG_IPI_SINGLE;
> > irq_domain_update_bus_token(ipi_domain, DOMAIN_BUS_IPI);
> >
> > - base_ipi = __irq_domain_alloc_irqs(ipi_domain, -1, BITS_PER_MBOX,
> > - NUMA_NO_NODE, NULL,
> > - false, NULL);
> > + base_ipi = irq_domain_alloc_irqs(ipi_domain, BITS_PER_MBOX,
> > + NUMA_NO_NODE, NULL);
> >
> > - if (WARN_ON(!base_ipi))
> > + if (WARN_ON(base_ipi < 0))
>
> This is wrong. 0 isn't a valid IRQ number, and should be rejected.
Thanks, I'll follow up with new versions for more callers.
Adam
More information about the linux-arm-kernel
mailing list