[brcm47xx]: bcma: do not initialize deactivated PCIe cores
[openwrt.git] / target / linux / brcm47xx / patches-3.3 / 204-bcma-do-not-initialize-deactivated-PCIe-cores.patch
diff --git a/target/linux/brcm47xx/patches-3.3/204-bcma-do-not-initialize-deactivated-PCIe-cores.patch b/target/linux/brcm47xx/patches-3.3/204-bcma-do-not-initialize-deactivated-PCIe-cores.patch
new file mode 100644 (file)
index 0000000..302ac8d
--- /dev/null
@@ -0,0 +1,26 @@
+--- a/drivers/bcma/driver_pci_host.c
++++ b/drivers/bcma/driver_pci_host.c
+@@ -35,11 +35,6 @@ bool __devinit bcma_core_pci_is_in_hostm
+           chipid_top != 0x5300)
+               return false;
+-      if (bus->sprom.boardflags_lo & BCMA_CORE_PCI_BFL_NOPCI) {
+-              bcma_info(bus, "This PCI core is disabled and not working\n");
+-              return false;
+-      }
+-
+       bcma_core_enable(pc->core, 0);
+       return !mips_busprobe32(tmp, pc->core->io_addr);
+@@ -396,6 +391,11 @@ void __devinit bcma_core_pci_hostmode_in
+       bcma_info(bus, "PCIEcore in host mode found\n");
++      if (bus->sprom.boardflags_lo & BCMA_CORE_PCI_BFL_NOPCI) {
++              bcma_info(bus, "This PCIE core is disabled and not working\n");
++              return;
++      }
++
+       pc_host = kzalloc(sizeof(*pc_host), GFP_KERNEL);
+       if (!pc_host)  {
+               bcma_err(bus, "can not allocate memory");