summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/patches-3.3/204-bcma-do-not-initialize-deactivated-PCIe-cores.patch
diff options
context:
space:
mode:
authorhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-10-04 15:45:54 +0000
committerhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-10-04 15:45:54 +0000
commitc155089844463b20730d1b4f74ce0c7ba93faf71 (patch)
treef2423a81ddf3fc7ceb63c52bb3aff18cdbd2fb02 /target/linux/brcm47xx/patches-3.3/204-bcma-do-not-initialize-deactivated-PCIe-cores.patch
parent351a9e7953a8b685c23d6751ee6bb1047491468e (diff)
[brcm47xx]: bcma: do not initialize deactivated PCIe cores
Before it was tried to initialize the deactivated PCIe core in client mode, but this causes the SoC to hang. Just do not initialize it at all and ignore the core it is not working and nothing is connected to it when the specific bit is set in the boardflags. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33620 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm47xx/patches-3.3/204-bcma-do-not-initialize-deactivated-PCIe-cores.patch')
-rw-r--r--target/linux/brcm47xx/patches-3.3/204-bcma-do-not-initialize-deactivated-PCIe-cores.patch26
1 files changed, 26 insertions, 0 deletions
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
index 000000000..302ac8d95
--- /dev/null
+++ b/target/linux/brcm47xx/patches-3.3/204-bcma-do-not-initialize-deactivated-PCIe-cores.patch
@@ -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");