Skip to content

Commit 5149bbb

Browse files
covanambjorn-helgaas
authored andcommitted
PCI: vmd: Remove MSI-X check on child devices
d7d8ab8 ("PCI: vmd: Switch to msi_create_parent_irq_domain()") added a WARN_ON sanity check that child devices support MSI-X, because VMD document says [1]: Intel VMD only supports MSIx Interrupts from child devices and therefore the BIOS must enable PCIe Hot Plug and MSIx interrups [sic]. However, the VMD device can't even tell the difference between a child device using MSI and one using MSI-X. Per 185a383 ("x86/PCI: Add driver for Intel Volume Management Device (VMD)"), VMD does not support INTx interrupts, but does support child devices using either MSI or MSI-X. Remove the sanity check to avoid the WARN_ON and allow child devices to use MSI, reported by Ammar. Fixes: d7d8ab8 ("PCI: vmd: Switch to msi_create_parent_irq_domain()") Link: https://cdrdv2-public.intel.com/776857/VMD_White_Paper.pdf [1] Reported-by: Ammar Faizi <[email protected]> Closes: https://lore.kernel.org/linux-pci/aJXYhfc%[email protected]/ Signed-off-by: Nam Cao <[email protected]> [bhelgaas: commit log] Signed-off-by: Bjorn Helgaas <[email protected]> Tested-by: Ammar Faizi <[email protected]> Link: https://patch.msgid.link/[email protected]
1 parent 3f69f2e commit 5149bbb

File tree

1 file changed

+0
-3
lines changed
  • drivers/pci/controller

1 file changed

+0
-3
lines changed

drivers/pci/controller/vmd.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -306,9 +306,6 @@ static bool vmd_init_dev_msi_info(struct device *dev, struct irq_domain *domain,
306306
struct irq_domain *real_parent,
307307
struct msi_domain_info *info)
308308
{
309-
if (WARN_ON_ONCE(info->bus_token != DOMAIN_BUS_PCI_DEVICE_MSIX))
310-
return false;
311-
312309
if (!msi_lib_init_dev_msi_info(dev, domain, real_parent, info))
313310
return false;
314311

0 commit comments

Comments
 (0)