ar71xx: don't init PCI irqs on the AR7240 if the PCIe subsystem are in reset
authorGabor Juhos <juhosg@openwrt.org>
Fri, 5 Mar 2010 20:29:29 +0000 (20:29 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Fri, 5 Mar 2010 20:29:29 +0000 (20:29 +0000)
SVN-Revision: 20007

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);