summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Gunthorpe <jgunthorpe@obsidianresearch.com>2013-11-26 11:27:28 -0700
committerBjorn Helgaas <bhelgaas@google.com>2013-11-26 11:27:28 -0700
commitf407dae76040c9529c2c83b1488dda4ffc54522c (patch)
treefea9a97fe2f06fdc3ec5ee6bbf19edfe211a7949
parentecf61c78bd787b9dfb4a6b1dfb7561c2a95c5c17 (diff)
downloadlinux-f407dae76040c9529c2c83b1488dda4ffc54522c.tar.gz
linux-f407dae76040c9529c2c83b1488dda4ffc54522c.tar.bz2
linux-f407dae76040c9529c2c83b1488dda4ffc54522c.zip
PCI: mvebu: Return 'unsupported' for Interrupt Line and Interrupt Pin
The emulated bridge does not support interrupts, so it should return the value 0 for Interrupt Line and Interrupt Pin. This indicates that interrupts are not supported. Since Max_Lat and Min_Gnt are also in the same 32-bit word, we return 0 for them, which means "do not care." This corrects an error message from the kernel: pci 0000:00:01.0: of_irq_parse_pci() failed with rc=135 Which is due to the default return of 0xFFFFFFFF indicating that interrupts are supported. The error message regression was caused by 16b84e5a505 ("of/irq: Create of_irq_parse_and_map_pci() to consolidate arch code.") Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r--drivers/pci/host/pci-mvebu.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/pci/host/pci-mvebu.c b/drivers/pci/host/pci-mvebu.c
index c269e430c760..2aa7b77c7c88 100644
--- a/drivers/pci/host/pci-mvebu.c
+++ b/drivers/pci/host/pci-mvebu.c
@@ -447,6 +447,11 @@ static int mvebu_sw_pci_bridge_read(struct mvebu_pcie_port *port,
*value = 0;
break;
+ case PCI_INTERRUPT_LINE:
+ /* LINE PIN MIN_GNT MAX_LAT */
+ *value = 0;
+ break;
+
default:
*value = 0xffffffff;
return PCIBIOS_BAD_REGISTER_NUMBER;