瀏覽代碼

PCI: dra7xx: Clear PCIe wrapper's MSI INT status before dwc's MSI INT STATUS

commit 87263c04ec46afb9c664b ("pci: dwc: pci-dra7xx: Improve MSI IRQ
handling") while improving MSI IRQ handling, missed to clear
PCIECTRL_DRA7XX_CONF_IRQSTATUS_MSI before handling and clearing
PCIE_MSI_INTR0_STATUS resulting in interrupt to be not triggered.
Fix it here.

Fixes: 87263c04ec46af ("pci: dwc: pci-dra7xx: Improve MSI IRQ handling")
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Kishon Vijay Abraham I 6 年之前
父節點
當前提交
d209568d14
共有 1 個文件被更改,包括 1 次插入2 次删除
  1. 1 2
      drivers/pci/controller/dwc/pci-dra7xx.c

+ 1 - 2
drivers/pci/controller/dwc/pci-dra7xx.c

@@ -265,6 +265,7 @@ static irqreturn_t dra7xx_pcie_msi_irq_handler(int irq, void *arg)
 	int count = 0;
 
 	reg = dra7xx_pcie_readl(dra7xx, PCIECTRL_DRA7XX_CONF_IRQSTATUS_MSI);
+	dra7xx_pcie_writel(dra7xx, PCIECTRL_DRA7XX_CONF_IRQSTATUS_MSI, reg);
 
 	switch (reg) {
 	case MSI:
@@ -297,8 +298,6 @@ static irqreturn_t dra7xx_pcie_msi_irq_handler(int irq, void *arg)
 		break;
 	}
 
-	dra7xx_pcie_writel(dra7xx, PCIECTRL_DRA7XX_CONF_IRQSTATUS_MSI, reg);
-
 	return IRQ_HANDLED;
 }