Re: [irqchip: irq/irqchip-next] irqchip/bcm2836: Fix IPI acknowledgement after conversion to handle_percpu_devid_irq

From: Valentin Schneider
Date: Fri Dec 18 2020 - 15:37:30 EST



On 18/12/20 18:40, irqchip-bot for Marc Zyngier wrote:
> The following commit has been merged into the irq/irqchip-next branch of irqchip:
>
> Commit-ID: d7f39c40ebb6986e7371510d1c20a4efee4a7f0d
> Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/d7f39c40ebb6986e7371510d1c20a4efee4a7f0d
> Author: Marc Zyngier <maz@xxxxxxxxxx>
> AuthorDate: Fri, 18 Dec 2020 18:03:46
> Committer: Marc Zyngier <maz@xxxxxxxxxx>
> CommitterDate: Fri, 18 Dec 2020 18:34:17
>
> irqchip/bcm2836: Fix IPI acknowledgement after conversion to handle_percpu_devid_irq
>
> It appears that despite its name, the bcm2836_arm_irqchip_ipi_eoi()
> callback is an acknowledgement, and not an EOI. This means that
> we lose IPIs that are made pending between the handling of the
> IPI and the write to LOCAL_MAILBOX0_CLR0. With the right timing,
> things fail nicely.
>
> This used to work with handle_percpu_devid_fasteoi_ipi(), which
> started by eoi-ing the interrupt. With the standard fasteoi flow,
> this doesn't work anymore.
>
> So let's use this callback for what it is, an ack. Your favourite
> RPi-2/3 is back up and running.
>

Thanks for cleaning up my mess!

> Fixes: ffdad793d579 ("irqchip/bcm2836: Make IPIs use handle_percpu_devid_irq()")
> Cc: Valentin Schneider <valentin.schneider@xxxxxxx>
> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
> Link: https://lore.kernel.org/r/c9fb4ab3-a5cb-648c-6de3-c6a871e60870@xxxxxxxxxxxx