aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/patches-3.3/009-bcma_reorder_sprom_fill.patch
diff options
context:
space:
mode:
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-10-05 10:12:53 +0000
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-10-05 10:12:53 +0000
commit5c105d9f3fd086aff195d3849dcf847d6b0bd927 (patch)
tree1229a11f725bfa58aa7c57a76898553bb5f6654a /target/linux/brcm47xx/patches-3.3/009-bcma_reorder_sprom_fill.patch
downloadopenwrt-5c105d9f3fd086aff195d3849dcf847d6b0bd927.tar.gz
openwrt-5c105d9f3fd086aff195d3849dcf847d6b0bd927.zip
branch Attitude Adjustment
git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@33625 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm47xx/patches-3.3/009-bcma_reorder_sprom_fill.patch')
-rw-r--r--target/linux/brcm47xx/patches-3.3/009-bcma_reorder_sprom_fill.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/target/linux/brcm47xx/patches-3.3/009-bcma_reorder_sprom_fill.patch b/target/linux/brcm47xx/patches-3.3/009-bcma_reorder_sprom_fill.patch
new file mode 100644
index 000000000..3778e64b8
--- /dev/null
+++ b/target/linux/brcm47xx/patches-3.3/009-bcma_reorder_sprom_fill.patch
@@ -0,0 +1,44 @@
+--- a/arch/mips/bcm47xx/setup.c
++++ b/arch/mips/bcm47xx/setup.c
+@@ -90,6 +90,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));
+@@ -111,6 +112,7 @@ static int bcm47xx_get_invariants(struct
+
+ bcm47xx_fill_ssb_boardinfo(&iv->boardinfo, NULL);
+
++ memset(&iv->sprom, 0, sizeof(struct ssb_sprom));
+ bcm47xx_fill_sprom(&iv->sprom, NULL);
+
+ if (nvram_getenv("cardbus", buf, sizeof(buf)) >= 0)
+@@ -159,12 +161,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
+@@ -557,8 +557,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);