diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2013-03-09 19:48:03 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2013-03-09 19:48:03 +0000 |
commit | 44ed7d664afefa70df85247516846752c88140c0 (patch) | |
tree | 74a8f294a0d8c6fd1a4e333e4c87ae4ed386e9fb /target/linux/brcm47xx/patches-3.8/026-mtd-bcm47xxpart-find-boot-partition-by-CFE-magic.patch | |
parent | 694050a4cf932b71e4d9ccdbe36927b16e047f55 (diff) | |
download | upstream-44ed7d664afefa70df85247516846752c88140c0.tar.gz upstream-44ed7d664afefa70df85247516846752c88140c0.tar.bz2 upstream-44ed7d664afefa70df85247516846752c88140c0.zip |
brcm47xx: add some more partition parser fixes by Rafał Miłecki
SVN-Revision: 35912
Diffstat (limited to 'target/linux/brcm47xx/patches-3.8/026-mtd-bcm47xxpart-find-boot-partition-by-CFE-magic.patch')
-rw-r--r-- | target/linux/brcm47xx/patches-3.8/026-mtd-bcm47xxpart-find-boot-partition-by-CFE-magic.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/brcm47xx/patches-3.8/026-mtd-bcm47xxpart-find-boot-partition-by-CFE-magic.patch b/target/linux/brcm47xx/patches-3.8/026-mtd-bcm47xxpart-find-boot-partition-by-CFE-magic.patch new file mode 100644 index 0000000000..d3fb9d3a66 --- /dev/null +++ b/target/linux/brcm47xx/patches-3.8/026-mtd-bcm47xxpart-find-boot-partition-by-CFE-magic.patch @@ -0,0 +1,26 @@ +--- a/drivers/mtd/bcm47xxpart.c ++++ b/drivers/mtd/bcm47xxpart.c +@@ -23,9 +23,10 @@ + * Amount of bytes we read when analyzing each block of flash memory. + * Set it big enough to allow detecting partition and reading important data. + */ +-#define BCM47XXPART_BYTES_TO_READ 0x404 ++#define BCM47XXPART_BYTES_TO_READ 0x4e8 + + /* Magics */ ++#define CFE_MAGIC 0x43464531 /* 1EFC */ + #define BOARD_DATA_MAGIC 0x5246504D /* MPFR */ + #define POT_MAGIC1 0x54544f50 /* POTT */ + #define POT_MAGIC2 0x504f /* OP */ +@@ -93,8 +94,9 @@ static int bcm47xxpart_parse(struct mtd_ + continue; + } + +- /* CFE has small NVRAM at 0x400 */ +- if (buf[0x400 / 4] == NVRAM_HEADER) { ++ /* Magic or small NVRAM at 0x400 */ ++ if (buf[0x4e0 / 4] == CFE_MAGIC || ++ buf[0x400 / 4] == NVRAM_HEADER) { + bcm47xxpart_add_part(&parts[curr_part++], "boot", + offset, MTD_WRITEABLE); + continue; |