Re: [PATCH v3 1/3] PCI: altera-msi: remove chained IRQ handler and data in one go

From: Bjorn Helgaas
Date: Fri Nov 13 2020 - 11:54:50 EST


Please capitalize your subject lines consistently. [3/3] is fine, but
you didn't capitalize [1/3] and [2/3] to match.

The fact that this is a *chained* IRQ isn't really relevant to the
patch, so this would be more succinct:

PCI: altera-msi: Remove IRQ handler and data in one go

Lorenzo can likely touch these up when he applies these so you don't
have to repost just for this.

On Thu, Nov 12, 2020 at 11:10:08PM +0100, Martin Kaiser wrote:
> Call irq_set_chained_handler_and_data() to clear the chained handler
> and the handler's data under irq_desc->lock.
>
> See also 2cf5a03cb29d ("PCI/keystone: Fix race in installing chained
> IRQ handler").
>
> Signed-off-by: Martin Kaiser <martin@xxxxxxxxx>
> ---
> v3:
> - rewrite the commit message again. this is no race condition if we
> remove the interrupt handler. sorry for the noise.
> v2:
> - rewrite the commit message to clarify that this is a bugfix
>
> drivers/pci/controller/pcie-altera-msi.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/pci/controller/pcie-altera-msi.c b/drivers/pci/controller/pcie-altera-msi.c
> index e1636f7714ca..42691dd8ebef 100644
> --- a/drivers/pci/controller/pcie-altera-msi.c
> +++ b/drivers/pci/controller/pcie-altera-msi.c
> @@ -204,8 +204,7 @@ static int altera_msi_remove(struct platform_device *pdev)
> struct altera_msi *msi = platform_get_drvdata(pdev);
>
> msi_writel(msi, 0, MSI_INTMASK);
> - irq_set_chained_handler(msi->irq, NULL);
> - irq_set_handler_data(msi->irq, NULL);
> + irq_set_chained_handler_and_data(msi->irq, NULL, NULL);
>
> altera_free_domains(msi);
>
> --
> 2.20.1
>