summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/patches-3.3/107-cfe_version_mod.patch
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-07-06 22:10:37 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-07-06 22:10:37 +0000
commiteb9c638ec8e06498140e1b3ef1e599fa13a48b11 (patch)
treef0268679b70201290b119611017442f3e517359e /target/linux/brcm63xx/patches-3.3/107-cfe_version_mod.patch
parentc2e7896dea3b1834be3f35961da53dcfd2c61a04 (diff)
[brcm63xx] Detect alternative "cfe-" version bootloaders (found in 963281T_TEF board)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32643 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm63xx/patches-3.3/107-cfe_version_mod.patch')
-rw-r--r--target/linux/brcm63xx/patches-3.3/107-cfe_version_mod.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-3.3/107-cfe_version_mod.patch b/target/linux/brcm63xx/patches-3.3/107-cfe_version_mod.patch
new file mode 100644
index 000000000..c00ed113e
--- /dev/null
+++ b/target/linux/brcm63xx/patches-3.3/107-cfe_version_mod.patch
@@ -0,0 +1,26 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -724,6 +724,8 @@ void __init board_prom_init(void)
+ if (!memcmp(cfe, "cfe-v", 5))
+ snprintf(cfe_version, sizeof(cfe_version), "%u.%u.%u-%u.%u",
+ cfe[5], cfe[6], cfe[7], cfe[8], cfe[9]);
++ else if (!memcmp(cfe, "cfe-", 4))
++ snprintf(cfe_version, 16, "%s", (char *) &cfe[4]);
+ else
+ strcpy(cfe_version, "unknown");
+ printk(KERN_INFO PFX "CFE version: %s\n", cfe_version);
+--- a/drivers/mtd/bcm63xxpart.c
++++ b/drivers/mtd/bcm63xxpart.c
+@@ -54,10 +54,10 @@ static int bcm63xx_detect_cfe(struct mtd
+ if (ret)
+ return ret;
+
+- if (strncmp("cfe-v", buf, 5) == 0)
++ if (strncmp("cfe-", buf, 4) == 0)
+ return 0;
+
+- /* very old CFE's do not have the cfe-v string, so check for magic */
++ /* very old CFE's do not have the cfe- string, so check for magic */
+ ret = mtd_read(master, BCM63XX_CFE_MAGIC_OFFSET, 8, &retlen,
+ (void *)buf);
+ buf[retlen] = 0;