diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2016-01-15 16:14:39 -0600 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2016-01-15 16:14:39 -0600 |
commit | 3a6384ba105ebbb5e83d040a55bfad2fa43f3048 (patch) | |
tree | cab88a093690d0a3d38303d4bd53db132b7b55ea /kernel/irq/msi.c | |
parent | 472358412b93025b13f39e46008af3ed9541ae2b (diff) | |
parent | 185a383ada2e7794b0e82e040223e741b24d2bf8 (diff) |
Merge branch 'pci/host-vmd' into next
* pci/host-vmd:
x86/PCI: Add driver for Intel Volume Management Device (VMD)
PCI/AER: Use 32 bit PCI domain numbers
x86/PCI: Allow DMA ops specific to a PCI domain
irqdomain: Export irq_domain_set_info() for module use
genirq/MSI: Relax msi_domain_alloc() to support parentless MSI irqdomains
Diffstat (limited to 'kernel/irq/msi.c')
-rw-r--r-- | kernel/irq/msi.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c index 6b0c0b74a2a1..5e15cb4b2f00 100644 --- a/kernel/irq/msi.c +++ b/kernel/irq/msi.c @@ -109,9 +109,11 @@ static int msi_domain_alloc(struct irq_domain *domain, unsigned int virq, if (irq_find_mapping(domain, hwirq) > 0) return -EEXIST; - ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, arg); - if (ret < 0) - return ret; + if (domain->parent) { + ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, arg); + if (ret < 0) + return ret; + } for (i = 0; i < nr_irqs; i++) { ret = ops->msi_init(domain, info, virq + i, hwirq + i, arg); |