summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/patches-3.2/231-bcma_reorder_sprom_fill.patch
diff options
context:
space:
mode:
authorhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-03-11 11:50:59 +0000
committerhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-03-11 11:50:59 +0000
commit4f345fdc5674f212ef077f01bbc54aa19e633d71 (patch)
tree160d51d734f9601192b1957ffd20de6b0a9e96c5 /target/linux/brcm47xx/patches-3.2/231-bcma_reorder_sprom_fill.patch
parentacd288a1454a742a0da195f1b6a840ae8c1b0bdb (diff)
BCMA - Reorder SPROM fill
The SPROM is initialized in bcm47xx_fill_sprom, so move the call to bcm47xx_fill_sprom_ethernet after it. Signed-off-by: Nathan Hintz <nlhintz@hotmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30873 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm47xx/patches-3.2/231-bcma_reorder_sprom_fill.patch')
-rw-r--r--target/linux/brcm47xx/patches-3.2/231-bcma_reorder_sprom_fill.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/target/linux/brcm47xx/patches-3.2/231-bcma_reorder_sprom_fill.patch b/target/linux/brcm47xx/patches-3.2/231-bcma_reorder_sprom_fill.patch
new file mode 100644
index 000000000..a9f176f9a
--- /dev/null
+++ b/target/linux/brcm47xx/patches-3.2/231-bcma_reorder_sprom_fill.patch
@@ -0,0 +1,44 @@
+--- a/arch/mips/bcm47xx/setup.c
++++ b/arch/mips/bcm47xx/setup.c
+@@ -96,6 +96,7 @@ static int bcm47xx_get_sprom_ssb(struct
+ char prefix[10];
+
+ if (bus->bustype == SSB_BUSTYPE_PCI) {
++ memset(out, 0, sizeof(struct ssb_sprom));
+ snprintf(prefix, sizeof(prefix), "pci/%u/%u/",
+ bus->host_pci->bus->number + 1,
+ PCI_SLOT(bus->host_pci->devfn));
+@@ -124,6 +125,7 @@ static int bcm47xx_get_invariants(struct
+ if (nvram_getenv("boardrev", buf, sizeof(buf)) >= 0)
+ iv->boardinfo.rev = (u16)simple_strtoul(buf, NULL, 0);
+
++ memset(&iv->sprom, 0, sizeof(struct ssb_sprom));
+ bcm47xx_fill_sprom(&iv->sprom, NULL);
+
+ if (nvram_getenv("cardbus", buf, sizeof(buf)) >= 0)
+@@ -204,12 +206,14 @@ static int bcm47xx_get_sprom_bcma(struct
+
+ switch (bus->hosttype) {
+ case BCMA_HOSTTYPE_PCI:
++ memset(out, 0, sizeof(struct ssb_sprom));
+ snprintf(prefix, sizeof(prefix), "pci/%u/%u/",
+ bus->host_pci->bus->number + 1,
+ PCI_SLOT(bus->host_pci->devfn));
+ bcm47xx_fill_sprom(out, prefix);
+ return 0;
+ case BCMA_HOSTTYPE_SOC:
++ memset(out, 0, sizeof(struct ssb_sprom));
+ bcm47xx_fill_sprom_ethernet(out, NULL);
+ core = bcma_find_core(bus, BCMA_CORE_80211);
+ if (core) {
+--- a/arch/mips/bcm47xx/sprom.c
++++ b/arch/mips/bcm47xx/sprom.c
+@@ -555,8 +555,6 @@ void bcm47xx_fill_sprom_ethernet(struct
+
+ void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix)
+ {
+- memset(sprom, 0, sizeof(struct ssb_sprom));
+-
+ bcm47xx_fill_sprom_ethernet(sprom, prefix);
+
+ nvram_read_u8(prefix, NULL, "sromrev", &sprom->revision, 0);