[brcm63xx] images without tagid now fallback to the untouched partition layout (...
authorFlorian Fainelli <florian@openwrt.org>
Tue, 3 Nov 2009 19:59:04 +0000 (19:59 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Tue, 3 Nov 2009 19:59:04 +0000 (19:59 +0000)
SVN-Revision: 18288

target/linux/brcm63xx/files/drivers/mtd/maps/bcm963xx-flash.c

index de373b22b852e605a73f6e4f62bfb35ea7c6cadd..e24a08110c6acd21e55d20843995b7e7ca833f7c 100644 (file)
@@ -199,8 +199,15 @@ static int parse_cfe_partitions( struct mtd_info *master, struct mtd_partition *
        }
 
        if (!tagid_match) {
-         printk(KERN_ERR PFX "Failed to find a valid tag id\n");
-         return -EIO;
+           tagid = "bcram";
+           sscanf(buf->bccfe.rootAddress,"%u", &rootfsaddr);
+           sscanf(buf->bccfe.rootLength, "%u", &rootfslen);
+           sscanf(buf->bccfe.kernelAddress, "%u", &kerneladdr);
+           sscanf(buf->bccfe.kernelLength, "%u", &kernellen);
+           sscanf(buf->bccfe.totalLength, "%u", &totallen);
+           tagidcrc = *(uint32_t *)&(buf->bccfe.tagIdCRC[0]);
+           tagversion = &(buf->bccfe.tagVersion[0]);
+           boardid = &(buf->bccfe.boardid[0]);
        }
 
        printk(KERN_INFO PFX "CFE boot tag found with version %s, board type %s, and tagid %s.\n",tagversion,boardid,tagid);