Author: rmilecki Date: 2015-03-17 08:07:00 +0100 (Tue, 17 Mar 2015) New Revision: 44854
Added: trunk/target/linux/brcm47xx/patches-3.18/400-mtd-bcm47xxpart-get-nvram.patch Removed: trunk/target/linux/brcm47xx/patches-3.18/027-mtd-bcm47xxpart-get-nvram.patch Log: brcm47xx: rename (and refresh) MTD patch for safety "nvram" partition Signed-off-by: Rafa?\197?\130 Mi?\197?\130ecki <[email protected]> Deleted: trunk/target/linux/brcm47xx/patches-3.18/027-mtd-bcm47xxpart-get-nvram.patch =================================================================== --- trunk/target/linux/brcm47xx/patches-3.18/027-mtd-bcm47xxpart-get-nvram.patch 2015-03-16 23:05:43 UTC (rev 44853) +++ trunk/target/linux/brcm47xx/patches-3.18/027-mtd-bcm47xxpart-get-nvram.patch 2015-03-17 07:07:00 UTC (rev 44854) @@ -1,34 +0,0 @@ ---- a/drivers/mtd/bcm47xxpart.c -+++ b/drivers/mtd/bcm47xxpart.c -@@ -93,6 +93,7 @@ static int bcm47xxpart_parse(struct mtd_ - int trx_part = -1; - int last_trx_part = -1; - int possible_nvram_sizes[] = { 0x8000, 0xF000, 0x10000, }; -+ bool found_nvram = false; - - if (blocksize <= 0x10000) - blocksize = 0x10000; -@@ -281,12 +282,23 @@ static int bcm47xxpart_parse(struct mtd_ - if (buf[0] == NVRAM_HEADER) { - bcm47xxpart_add_part(&parts[curr_part++], "nvram", - master->size - blocksize, 0); -+ found_nvram = true; - break; - } - } - - kfree(buf); - -+ if (!found_nvram) { -+ pr_err("can not find a nvram partition reserve last block\n"); -+ bcm47xxpart_add_part(&parts[curr_part++], "nvram_guess", -+ master->size - blocksize * 2, MTD_WRITEABLE); -+ for (i = 0; i < curr_part; i++) { -+ if (parts[i].size + parts[i].offset == master->size) -+ parts[i].offset -= blocksize * 2; -+ } -+ } -+ - /* - * Assume that partitions end at the beginning of the one they are - * followed by. Copied: trunk/target/linux/brcm47xx/patches-3.18/400-mtd-bcm47xxpart-get-nvram.patch (from rev 44853, trunk/target/linux/brcm47xx/patches-3.18/027-mtd-bcm47xxpart-get-nvram.patch) =================================================================== --- trunk/target/linux/brcm47xx/patches-3.18/400-mtd-bcm47xxpart-get-nvram.patch (rev 0) +++ trunk/target/linux/brcm47xx/patches-3.18/400-mtd-bcm47xxpart-get-nvram.patch 2015-03-17 07:07:00 UTC (rev 44854) @@ -0,0 +1,34 @@ +--- a/drivers/mtd/bcm47xxpart.c ++++ b/drivers/mtd/bcm47xxpart.c +@@ -97,6 +97,7 @@ static int bcm47xxpart_parse(struct mtd_ + int trx_part = -1; + int last_trx_part = -1; + int possible_nvram_sizes[] = { 0x8000, 0xF000, 0x10000, }; ++ bool found_nvram = false; + + /* + * Some really old flashes (like AT45DB*) had smaller erasesize-s, but +@@ -300,12 +301,23 @@ static int bcm47xxpart_parse(struct mtd_ + if (buf[0] == NVRAM_HEADER) { + bcm47xxpart_add_part(&parts[curr_part++], "nvram", + master->size - blocksize, 0); ++ found_nvram = true; + break; + } + } + + kfree(buf); + ++ if (!found_nvram) { ++ pr_err("can not find a nvram partition reserve last block\n"); ++ bcm47xxpart_add_part(&parts[curr_part++], "nvram_guess", ++ master->size - blocksize * 2, MTD_WRITEABLE); ++ for (i = 0; i < curr_part; i++) { ++ if (parts[i].size + parts[i].offset == master->size) ++ parts[i].offset -= blocksize * 2; ++ } ++ } ++ + /* + * Assume that partitions end at the beginning of the one they are + * followed by. _______________________________________________ openwrt-commits mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits
