diff options
Diffstat (limited to 'target/linux/atheros/patches-3.3/141-redboot_partition_scan.patch')
-rw-r--r-- | target/linux/atheros/patches-3.3/141-redboot_partition_scan.patch | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/target/linux/atheros/patches-3.3/141-redboot_partition_scan.patch b/target/linux/atheros/patches-3.3/141-redboot_partition_scan.patch deleted file mode 100644 index c83823a219..0000000000 --- a/target/linux/atheros/patches-3.3/141-redboot_partition_scan.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- a/drivers/mtd/redboot.c -+++ b/drivers/mtd/redboot.c -@@ -79,6 +79,11 @@ static int parse_redboot_partitions(stru - static char nullstring[] = "unallocated"; - #endif - -+ buf = vmalloc(master->erasesize); -+ if (!buf) -+ return -ENOMEM; -+ -+ restart: - if ( directory < 0 ) { - offset = master->size + directory * master->erasesize; - while (mtd_can_have_bb(master) && -@@ -86,6 +91,7 @@ static int parse_redboot_partitions(stru - if (!offset) { - nogood: - printk(KERN_NOTICE "Failed to find a non-bad block to check for RedBoot partition table\n"); -+ vfree(buf); - return -EIO; - } - offset -= master->erasesize; -@@ -99,10 +105,6 @@ static int parse_redboot_partitions(stru - goto nogood; - } - } -- buf = vmalloc(master->erasesize); -- -- if (!buf) -- return -ENOMEM; - - printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n", - master->name, offset); -@@ -175,6 +177,11 @@ static int parse_redboot_partitions(stru - } - if (i == numslots) { - /* Didn't find it */ -+ if (offset + master->erasesize < master->size) { -+ /* not at the end of the flash yet, maybe next block :) */ -+ directory++; -+ goto restart; -+ } - printk(KERN_NOTICE "No RedBoot partition table detected in %s\n", - master->name); - ret = 0; |