Correctly detect CFE bootloaders starting with "cfe-" instead of "cfe-v".
Signed-off-by: Álvaro Fernández Rojas <nolt...@gmail.com> Index: target/linux/brcm63xx/patches-3.3/802-cfe_version_mod.patch =================================================================== --- target/linux/brcm63xx/patches-3.3/802-cfe_version_mod.patch (revisión: 0) +++ target/linux/brcm63xx/patches-3.3/802-cfe_version_mod.patch (revisión: 0) @@ -0,0 +1,30 @@ +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +@@ -2882,6 +2882,12 @@ 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)) { ++ for(i = 0; i < 0x10; i++) { ++ cfe_version[i] = cfe[4 + i]; ++ } ++ cfe_version[i] = 0; ++ } + 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 +@@ -55,10 +55,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; _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel