ar71xx: don't init PCI irqs on the AR7240 if the PCIe subsystem are in reset
[openwrt-10.03/.git] / target / linux / ar71xx / files / arch / mips / ar71xx / irq.c
index 212ff129976bf9a4b0417a18a13a8ff1a29c5f00..13d25c43fd30fd024802df6cb77c5b7d606ef760 100644 (file)
@@ -158,8 +158,15 @@ static struct irqaction ar724x_pci_irqaction = {
 
 static void __init ar724x_pci_irq_init(void)
 {
+       u32 t;
        int i;
 
+       t = ar71xx_reset_rr(AR724X_RESET_REG_RESET_MODULE);
+       if (t & (AR724X_RESET_PCIE | AR724X_RESET_PCIE_PHY |
+                AR724X_RESET_PCIE_PHY_SERIAL)) {
+               return;
+       }
+
        ar71xx_ip2_irq_handler = ar724x_pci_irq_dispatch;
 
        ar724x_pci_wr(AR724X_PCI_REG_INT_MASK, 0);