Path: csiph.com!news.mixmin.net!weretis.net!feeder1.news.weretis.net!newsfeed.CARNet.hr!news.spin.it!bofh.it!news.nic.it!robomod From: Keith Busch Newsgroups: linux.kernel Subject: [PATCHv5 1/6] msi: Relax msi_domain_alloc() to support parentless MSI irqdomains Date: Fri, 13 Nov 2015 18:20:04 +0100 Message-ID: References: X-Original-To: LKML , x86@kernel.org, linux-pci@vger.kernel.org X-Extloop1: 1 X-Ironport-Av: E=Sophos;i="5.20,288,1444719600"; d="scan'208";a="850511127" X-Mailer: git-send-email 1.7.1 Sender: robomod@news.nic.it List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Approved: robomod@news.nic.it Lines: 39 Organization: linux.* mail to news gateway X-Original-Cc: Jiang Liu , Thomas Gleixner , Dan Williams , Bjorn Helgaas , Bryan Veal , Ingo Molnar , "H. Peter Anvin" , Martin Mares , Jon Derrick X-Original-Date: Fri, 13 Nov 2015 10:17:32 -0700 X-Original-Message-ID: <1447435057-5212-2-git-send-email-keith.busch@intel.com> X-Original-References: <1447435057-5212-1-git-send-email-keith.busch@intel.com> X-Original-Sender: linux-kernel-owner@vger.kernel.org Xref: csiph.com linux.kernel:1269109 From: Liu Jiang Previously msi_domain_alloc() assumes MSI irqdomains always have parent irqdomains, but that's not true for the new Intel VMD devices. So relax msi_domain_alloc() to support parentless MSI irqdomains. Signed-off-by: Jiang Liu Tested-by: Keith Busch --- kernel/irq/msi.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c index 6b0c0b7..5e15cb4 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); -- 2.6.2.307.g37023ba -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/