[PATCH] irqchip/bcm2836: Fix return check in IPI alloc

Marc Zyngier maz at kernel.org
Tue Dec 29 04:31:34 EST 2020


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.

         M.
-- 
Jazz is not dead. It just smells funny...



More information about the linux-arm-kernel mailing list