]> www.infradead.org Git - users/jedix/linux-maple.git/commit
irqchip/armada-370-xp: Fix reenabling last per-CPU interrupt
authorMarek BehĂșn <kabel@kernel.org>
Wed, 7 Aug 2024 16:41:01 +0000 (18:41 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 8 Aug 2024 15:15:01 +0000 (17:15 +0200)
commit2793f68749c1fb035e255cdffb10108ef023f608
tree1f9ca067a6e7446beff6ee90d61eb04347774f99
parent6abd809a543936ca005fd37efa32906c78409aea
irqchip/armada-370-xp: Fix reenabling last per-CPU interrupt

The number of per-CPU interrupts is 29 (0 to 28). This is described by
the constant MPIC_MAX_PER_CPU_IRQS, set to 28 (the maximum per-CPU
interrupt).

Commit 0fa4ce746d1d ("irqchip/armada-370-xp: Re-enable per-CPU
interrupts at resume time") used the constant incorrectly in the
for-loop, it used the operator < instead of <=, causing it to iterate
only the first 28 interrupts (0 to 27), ignoring the last, 28th,
per-CPU interrupt.

To avoid this kind of confusions, fix this issue by renaming the constant
to MPIC_PER_CPU_IRQS_NR and set it to 29, the number of per-CPU IRQs.
Update its use in mpic_is_percpu_irq() accordingly.

Fixes: 0fa4ce746d1d ("irqchip/armada-370-xp: Re-enable per-CPU interrupts at resume time")
Signed-off-by: Marek BehĂșn <kabel@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: <stable+noautosel@kernel.org> # The 29th interrupt is not used in any device-tree
drivers/irqchip/irq-armada-370-xp.c