Re: [PATCH v5 10/17] PCI: dwc: Free the MSI domain after the host .deinit() callback

From: Koichiro Den

Date: Tue Oct 20 2026 - 10:14:40 EST


On Tue, Oct 20, 2026 at 01:47:22PM +0200, Geert Uytterhoeven wrote:
> Hi Den-san,
>
> On Tue, 20 Oct 2026 at 05:11, Koichiro Den <den@xxxxxxxxxxxxx> wrote:
> > dw_pcie_host_deinit() frees the iMSI-RX domain before calling the host
> > .deinit() callback. For a core-owned parent interrupt,
> > dw_pcie_free_msi() removes the chained handler right before the domain.
> > A glue driver that owns the parent interrupt and demultiplexes the MSIs
> > itself through dw_handle_msi_irq() can only stop its handler in
> > .deinit(), after the domain is gone, so a late interrupt can still
> > dispatch into the freed domain.
> >
> > Remove the domain after .deinit(), in dw_pcie_host_deinit() and in the
> > dw_pcie_host_init() unwind. Keep removing the chained handlers of
> > core-owned interrupts before .deinit(), which powers the controller
> > down. Clear pp->irq_domain when the domain is removed so the unwind can
>
> FTR, this is now pp->msi_irq_domain since commit 8f0b8cc3a655f56b
> ("PCI: dwc: Rename pp->irq_domain to pp->msi_irq_domain") in pci/next.

Yes, thanks! Shawn also pointed that out. I'll rebase once those changes reach
linux-next, and update the commit message too.

Best regards,
Koichiro Den

>
> > tell whether it exists.
> >
> > Reviewed-by: Marek Vasut <marek.vasut+renesas@xxxxxxxxxxx>
> > Signed-off-by: Koichiro Den <den@xxxxxxxxxxxxx>
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
>