summaryrefslogtreecommitdiff
path: root/kernel/irq/msi.c
diff options
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2016-01-15 16:14:39 -0600
committerBjorn Helgaas <bhelgaas@google.com>2016-01-15 16:14:39 -0600
commit3a6384ba105ebbb5e83d040a55bfad2fa43f3048 (patch)
treecab88a093690d0a3d38303d4bd53db132b7b55ea /kernel/irq/msi.c
parent472358412b93025b13f39e46008af3ed9541ae2b (diff)
parent185a383ada2e7794b0e82e040223e741b24d2bf8 (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.c8
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);