Commit 99496bd2 authored by Ley Foon Tan's avatar Ley Foon Tan Committed by Bjorn Helgaas

PCI: altera: Fix error when INTx is 4

PCI interrupt lines start at 1, not at 0.  So, creates additional one
interrupt when register for irq domain.

Error when PCIe devices have 4 INTx:

  WARNING: CPU: 1 PID: 1 at kernel/irq/irqdomain.c:280
    irq_domain_associate+0x17c/0x1cc()
  error: hwirq 0x4 is too large for dummy

Tested on Ethernet adapter card with multi-functions.
Signed-off-by: default avatarLey Foon Tan <lftan@altera.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent ea1d3795
...@@ -467,7 +467,7 @@ static int altera_pcie_init_irq_domain(struct altera_pcie *pcie) ...@@ -467,7 +467,7 @@ static int altera_pcie_init_irq_domain(struct altera_pcie *pcie)
struct device_node *node = dev->of_node; struct device_node *node = dev->of_node;
/* Setup INTx */ /* Setup INTx */
pcie->irq_domain = irq_domain_add_linear(node, INTX_NUM, pcie->irq_domain = irq_domain_add_linear(node, INTX_NUM + 1,
&intx_domain_ops, pcie); &intx_domain_ops, pcie);
if (!pcie->irq_domain) { if (!pcie->irq_domain) {
dev_err(dev, "Failed to get a INTx IRQ domain\n"); dev_err(dev, "Failed to get a INTx IRQ domain\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment