Commit 4be6bfe2 authored by Bjorn Helgaas's avatar Bjorn Helgaas Committed by Konrad Rzeszutek Wilk
Browse files

xen/pci: Use PCI_MSIX_TABLE_BIR, not PCI_MSIX_FLAGS_BIRMASK



PCI_MSIX_FLAGS_BIRMASK is mis-named because the BIR mask is in the
Table Offset register, not the flags ("Message Control" per spec)
register.

Acked-by: default avatarJan Beulich <jbeulich@suse.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
parent 934f585e
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -299,7 +299,7 @@ static int xen_initdom_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)


			pci_read_config_dword(dev, pos + PCI_MSIX_TABLE,
			pci_read_config_dword(dev, pos + PCI_MSIX_TABLE,
					      &table_offset);
					      &table_offset);
			bir = (u8)(table_offset & PCI_MSIX_FLAGS_BIRMASK);
			bir = (u8)(table_offset & PCI_MSIX_TABLE_BIR);


			map_irq.table_base = pci_resource_start(dev, bir);
			map_irq.table_base = pci_resource_start(dev, bir);
			map_irq.entry_nr = msidesc->msi_attrib.entry_nr;
			map_irq.entry_nr = msidesc->msi_attrib.entry_nr;