aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2009-11-03 19:59:04 +0000
committerFlorian Fainelli <florian@openwrt.org>2009-11-03 19:59:04 +0000
commit26738bea217a697fb7da85154f42a968215a4c20 (patch)
tree16f1e5ebf10805b97800a945eb87ddeb0da18d5b
parentea7dd8e255d2a454053ded1e0a1d4d6594e3f9c8 (diff)
downloadupstream-26738bea217a697fb7da85154f42a968215a4c20.tar.gz
upstream-26738bea217a697fb7da85154f42a968215a4c20.tar.bz2
upstream-26738bea217a697fb7da85154f42a968215a4c20.zip
[brcm63xx] images without tagid now fallback to the untouched partition layout (#6093)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18288 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/brcm63xx/files/drivers/mtd/maps/bcm963xx-flash.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/target/linux/brcm63xx/files/drivers/mtd/maps/bcm963xx-flash.c b/target/linux/brcm63xx/files/drivers/mtd/maps/bcm963xx-flash.c
index de373b22b8..e24a08110c 100644
--- a/target/linux/brcm63xx/files/drivers/mtd/maps/bcm963xx-flash.c
+++ b/target/linux/brcm63xx/files/drivers/mtd/maps/bcm963xx-flash.c
@@ -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);