diff options
Diffstat (limited to 'target/linux/atheros/patches-2.6.27/140-redboot_partition_scan.patch')
| -rw-r--r-- | target/linux/atheros/patches-2.6.27/140-redboot_partition_scan.patch | 54 | 
1 files changed, 0 insertions, 54 deletions
diff --git a/target/linux/atheros/patches-2.6.27/140-redboot_partition_scan.patch b/target/linux/atheros/patches-2.6.27/140-redboot_partition_scan.patch deleted file mode 100644 index 289d4eb99..000000000 --- a/target/linux/atheros/patches-2.6.27/140-redboot_partition_scan.patch +++ /dev/null @@ -1,54 +0,0 @@ ---- a/drivers/mtd/redboot.c -+++ b/drivers/mtd/redboot.c -@@ -60,31 +60,32 @@ 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 (master->block_isbad &&  -+		while (master->block_isbad && - 		       master->block_isbad(master, offset)) { - 			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; - 		} - 	} else { - 		offset = directory * master->erasesize; --		while (master->block_isbad &&  -+		while (master->block_isbad && - 		       master->block_isbad(master, offset)) { - 			offset += master->erasesize; - 			if (offset == master->size) - 				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); -  -@@ -156,6 +157,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;  | 
