Skip to content

Commit feffd35

Browse files
committed
Merge tag 'irq-urgent-2024-12-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fix from Ingo Molnar: "Fix bogus MSI IRQ setup warning on RISC-V" * tag 'irq-urgent-2024-12-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: PCI/MSI: Handle lack of irqdomain gracefully
2 parents c059361 + a60b990 commit feffd35

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

drivers/pci/msi/irqdomain.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -350,8 +350,11 @@ bool pci_msi_domain_supports(struct pci_dev *pdev, unsigned int feature_mask,
350350

351351
domain = dev_get_msi_domain(&pdev->dev);
352352

353-
if (!domain || !irq_domain_is_hierarchy(domain))
354-
return mode == ALLOW_LEGACY;
353+
if (!domain || !irq_domain_is_hierarchy(domain)) {
354+
if (IS_ENABLED(CONFIG_PCI_MSI_ARCH_FALLBACKS))
355+
return mode == ALLOW_LEGACY;
356+
return false;
357+
}
355358

356359
if (!irq_domain_is_msi_parent(domain)) {
357360
/*

drivers/pci/msi/msi.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,10 @@ int __pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec,
433433
if (WARN_ON_ONCE(dev->msi_enabled))
434434
return -EINVAL;
435435

436+
/* Test for the availability of MSI support */
437+
if (!pci_msi_domain_supports(dev, 0, ALLOW_LEGACY))
438+
return -ENOTSUPP;
439+
436440
nvec = pci_msi_vec_count(dev);
437441
if (nvec < 0)
438442
return nvec;

0 commit comments

Comments
 (0)