X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=kernel%2Firq%2Fmsi.c;h=38e89ce7b0711b6817d7fbf104437c14c7f4f863;hb=d43421565bf0510d35e6a39ebf96586ad486f3aa;hp=15b249e7c67321007305d64bfcd2c69fd6206ddb;hpb=71e4634e00119b2fb8dd0da99b3f5ebbb49cc872;p=cascardo%2Flinux.git diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c index 15b249e7c673..38e89ce7b071 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);