[PATCH v3 2/2] PCI/MSI: Implement irq_mask_noflush() for MSI-X
Thomas Gleixner
tglx at kernel.org
Fri Nov 6 12:53:06 PST 2026
On Fri, Nov 06 2026 at 09:34, Keith Busch wrote:
> -static inline void pci_msix_mask(struct msi_desc *desc)
> +/* Posted write only: the device may still send an interrupt after return */
> +static inline void pci_msix_mask_noflush(struct msi_desc *desc)
> {
> desc->pci.msix_ctrl |= PCI_MSIX_ENTRY_CTRL_MASKBIT;
> + pci_msix_write_vector_ctrl(desc, desc->pci.msix_ctrl);
> +}
> +
> +static inline void pci_msix_mask(struct msi_desc *desc)
> +{
> + pci_msix_mask_noflush(desc);
That's before the offline check now, which looks more than wrong.
> if (pci_channel_offline(msi_desc_to_pci_dev(desc)))
> return;
>
> - pci_msix_write_vector_ctrl(desc, desc->pci.msix_ctrl);
> /* Flush write to device */
> readl(desc->pci.mask_base);
> }
More information about the Linux-nvme
mailing list