From 0bdb7cbf98db42eacfd5feda5374c98bcc76cb02 Mon Sep 17 00:00:00 2001 From: jogo Date: Sun, 27 May 2012 13:22:37 +0000 Subject: bcm63xx: add a fixup for ath9k devices git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31880 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../405-bcm963xx_real_rootfs_length.patch | 35 ++++++---------------- 1 file changed, 9 insertions(+), 26 deletions(-) (limited to 'target/linux/brcm63xx/patches-3.3/405-bcm963xx_real_rootfs_length.patch') diff --git a/target/linux/brcm63xx/patches-3.3/405-bcm963xx_real_rootfs_length.patch b/target/linux/brcm63xx/patches-3.3/405-bcm963xx_real_rootfs_length.patch index 0476699ed..856b9e267 100644 --- a/target/linux/brcm63xx/patches-3.3/405-bcm963xx_real_rootfs_length.patch +++ b/target/linux/brcm63xx/patches-3.3/405-bcm963xx_real_rootfs_length.patch @@ -15,30 +15,13 @@ /* 240-255: Unused at present */ --- a/drivers/mtd/bcm63xxpart.c +++ b/drivers/mtd/bcm63xxpart.c -@@ -77,7 +77,7 @@ static int bcm63xx_parse_cfe_partitions( - int ret; - size_t retlen; - unsigned int rootfsaddr, kerneladdr, spareaddr; -- unsigned int rootfslen, kernellen, sparelen, totallen; -+ unsigned int rootfslen, kernellen, sparelen; - unsigned int cfelen, nvramlen; - int namelen = 0; - int i; -@@ -111,14 +111,15 @@ static int bcm63xx_parse_cfe_partitions( - - sscanf(buf->kernel_address, "%u", &kerneladdr); - sscanf(buf->kernel_length, "%u", &kernellen); -- sscanf(buf->total_length, "%u", &totallen); -+ rootfslen = buf->real_rootfs_length; - - pr_info("CFE boot tag found with version %s and board type %s\n", - tagversion, boardid); - - kerneladdr = kerneladdr - BCM63XX_EXTENDED_SIZE; - rootfsaddr = kerneladdr + kernellen; -- spareaddr = roundup(totallen, master->erasesize) + cfelen; -+ rootfslen = roundup(rootfslen, master->erasesize); -+ spareaddr = rootfsaddr + rootfslen; - sparelen = master->size - spareaddr - nvramlen; - rootfslen = spareaddr - rootfsaddr; +@@ -131,7 +131,8 @@ static int bcm63xx_parse_cfe_partitions( + } else { + /* OpenWrt layout */ + rootfsaddr = kerneladdr + kernellen; +- rootfslen = spareaddr - rootfsaddr; ++ rootfslen = buf->real_rootfs_length; ++ spareaddr = rootfsaddr + rootfslen; + } } else { + pr_warn("CFE boot tag CRC invalid (expected %08x, actual %08x)\n", -- cgit v1.2.3