[PATCH 2/2] PCI/MSI: Implement irq_mask_noflush() for MSI-x

Keith Busch kbusch at kernel.org
Thu Nov 5 11:09:21 PST 2026


On Thu, Nov 05, 2026 at 06:36:52PM +0000, sashiko-bot at kernel.org wrote:
> When pci_channel_offline(msi_desc_to_pci_dev(desc)) is true, doesn't
> pci_msix_mask() now unconditionally execute readl(desc->pci.mask_base) after
> pci_msix_mask_noflush() returns early?
> 
> Prior to this change, commit 2e2f69fc8ae2 ("PCI/MSI: Skip MSI/MSI-X
> programming while the channel is offline") added the pci_channel_offline()
> check to both pci_msix_write_vector_ctrl() and pci_msix_mask() so that
> pci_msix_mask() would return before the flushing readl(desc->pci.mask_base):
> 
> drivers/pci/msi/msi.h:pci_msix_write_vector_ctrl() {
> 	/* The Table is unreachable while the Link is down */
> 	if (pci_channel_offline(msi_desc_to_pci_dev(desc)))
> 		return;
> 	...
> }

Oh right. That check looks fairly recent, and I missed the merge from my
older version resolved this incorrectly. I'll respin it. 



More information about the Linux-nvme mailing list