Re: [PATCH] spmi: spmi-pmic-arb: Fix hw_irq overflow

From: Stephen Boyd
Date: Mon Feb 08 2021 - 17:08:03 EST


Quoting Subbaraman Narayanamurthy (2021-02-08 11:33:04)
> Currently, when handling the SPMI summary interrupt, the hw_irq
> number is calculated based on SID, Peripheral ID, IRQ index and
> APID. This is then passed to irq_find_mapping() to see if a
> mapping exists for this hw_irq and if available, invoke the
> interrupt handler. Since the IRQ index uses an "int" type, hw_irq
> which is of unsigned long data type can take a large value when
> SID has its MSB set to 1 and the type conversion happens. Because
> of this, irq_find_mapping() returns 0 as there is no mapping
> for this hw_irq. This ends up invoking cleanup_irq() as if
> the interrupt is spurious whereas it is actually a valid
> interrupt. Fix this by using the proper data type (u32) for id.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Subbaraman Narayanamurthy <subbaram@xxxxxxxxxxxxxx>
> ---

Applied to spmi-next