Message ID | 1437715776-2243-4-git-send-email-haokexin@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/drivers/pci/host/pci-exynos.c b/drivers/pci/host/pci-exynos.c index f9f468d9a819..7b6be7791d33 100644 --- a/drivers/pci/host/pci-exynos.c +++ b/drivers/pci/host/pci-exynos.c @@ -523,7 +523,8 @@ static int __init exynos_add_pcie_port(struct pcie_port *pp, ret = devm_request_irq(&pdev->dev, pp->msi_irq, exynos_pcie_msi_irq_handler, - IRQF_SHARED, "exynos-pcie", pp); + IRQF_SHARED | IRQF_NO_THREAD, + "exynos-pcie", pp); if (ret) { dev_err(&pdev->dev, "failed to request msi irq\n"); return ret;
The cascade handler must run in hard interrupt context, otherwise it will cause dead lock if we force threading of all the interrupt handlers via kernel command parameter "threadirqs". Signed-off-by: Kevin Hao <haokexin@gmail.com> --- drivers/pci/host/pci-exynos.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)