summaryrefslogtreecommitdiffstats
path: root/drivers/pci/host/pci-exynos.c
diff options
context:
space:
mode:
authorLucas Stach2014-03-28 17:52:58 +0100
committerBjorn Helgaas2014-05-30 19:24:58 +0200
commit7f4f16eef5aeba31bdfb7702ced06a42f2777e04 (patch)
treea10b8f076e0278742ba80181b2d3d3fba56777ad /drivers/pci/host/pci-exynos.c
parentPCI: imx6: Remove optional (and unused) IRQs (diff)
downloadkernel-qcow2-linux-7f4f16eef5aeba31bdfb7702ced06a42f2777e04.tar.gz
kernel-qcow2-linux-7f4f16eef5aeba31bdfb7702ced06a42f2777e04.tar.xz
kernel-qcow2-linux-7f4f16eef5aeba31bdfb7702ced06a42f2777e04.zip
PCI: designware: Make MSI ISR shared IRQ aware
On i.MX6 the host controller MSI IRQ is shared with PCI legacy INTD. Make sure we don't bail too early from the IRQ handler. The issue is fairly theoretical as it would require a system setup with a PCIe switch where one connected device is using legacy INTD and another one using MSI, but better fix it now. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Jingoo Han <jg1.han@samsung.com> Acked-by: Richard Zhu <r65037@freescale.com>
Diffstat (limited to 'drivers/pci/host/pci-exynos.c')
-rw-r--r--drivers/pci/host/pci-exynos.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/pci/host/pci-exynos.c b/drivers/pci/host/pci-exynos.c
index 3de6bfbbe8e9..b616d34922d8 100644
--- a/drivers/pci/host/pci-exynos.c
+++ b/drivers/pci/host/pci-exynos.c
@@ -415,9 +415,7 @@ static irqreturn_t exynos_pcie_msi_irq_handler(int irq, void *arg)
{
struct pcie_port *pp = arg;
- dw_handle_msi_irq(pp);
-
- return IRQ_HANDLED;
+ return dw_handle_msi_irq(pp);
}
static void exynos_pcie_msi_init(struct pcie_port *pp)