diff options
author | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-11-03 19:59:04 +0000 |
---|---|---|
committer | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-11-03 19:59:04 +0000 |
commit | 47ef97e2e3398247c85c1267ff2ed04dfa068e95 (patch) | |
tree | 16f1e5ebf10805b97800a945eb87ddeb0da18d5b /target/linux/brcm63xx/files/drivers/mtd | |
parent | a1fd86c13e33ce51666418d851f14d752e5e3f50 (diff) |
[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
Diffstat (limited to 'target/linux/brcm63xx/files/drivers/mtd')
-rw-r--r-- | target/linux/brcm63xx/files/drivers/mtd/maps/bcm963xx-flash.c | 11 |
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 de373b22b..e24a08110 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); |