PCI: host: Mark PCIe/PCI (MSI) cascade ISR as IRQF_NO_THREAD
authorJisheng Zhang <jszhang@marvell.com>
Thu, 20 Apr 2017 10:27:18 +0000 (18:27 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Sun, 2 Jul 2017 23:38:49 +0000 (18:38 -0500)
Similar as commit 8ff0ef996ca0 ("PCI: host: Mark PCIe/PCI (MSI) IRQ cascade
handlers as IRQF_NO_THREAD"), we should mark PCIe/PCI (MSI) IRQ cascade
handlers in designware, qcom, and vmd as IRQF_NO_THREAD explicitly.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Keith Busch <keith.busch@intel.com> # vmd
Acked-by: Jingoo Han <jingoohan1@gmail.com> # pcie-designware-plat.c
drivers/pci/dwc/pcie-designware-plat.c
drivers/pci/dwc/pcie-qcom.c
drivers/pci/host/vmd.c

index 32091b32f6e1e43b52ecec7f40a4d5e26105e891..a9865d91b43c4dfcc4a74d45b754da6bb9a5c9a0 100644 (file)
@@ -67,7 +67,8 @@ static int dw_plat_add_pcie_port(struct pcie_port *pp,
 
                ret = devm_request_irq(dev, pp->msi_irq,
                                        dw_plat_pcie_msi_irq_handler,
-                                       IRQF_SHARED, "dw-plat-pcie-msi", pp);
+                                       IRQF_SHARED | IRQF_NO_THREAD,
+                                       "dw-plat-pcie-msi", pp);
                if (ret) {
                        dev_err(dev, "failed to request MSI IRQ\n");
                        return ret;
index 5bf23d432fdbf9f23de926273b9d79d154027d93..96ee527c1ed2e0344b3bf88506e3faaf9d0838ea 100644 (file)
@@ -727,7 +727,8 @@ static int qcom_pcie_probe(struct platform_device *pdev)
 
                ret = devm_request_irq(dev, pp->msi_irq,
                                       qcom_pcie_msi_irq_handler,
-                                      IRQF_SHARED, "qcom-pcie-msi", pp);
+                                      IRQF_SHARED | IRQF_NO_THREAD,
+                                      "qcom-pcie-msi", pp);
                if (ret) {
                        dev_err(dev, "cannot request msi irq\n");
                        return ret;
index e27ad2a3bd33f8de025aff5e320f858356860e73..784f63beb4875befffff3b4dc98865791f7f039e 100644 (file)
@@ -704,7 +704,8 @@ static int vmd_probe(struct pci_dev *dev, const struct pci_device_id *id)
 
                INIT_LIST_HEAD(&vmd->irqs[i].irq_list);
                err = devm_request_irq(&dev->dev, pci_irq_vector(dev, i),
-                                      vmd_irq, 0, "vmd", &vmd->irqs[i]);
+                                      vmd_irq, IRQF_NO_THREAD,
+                                      "vmd", &vmd->irqs[i]);
                if (err)
                        return err;
        }