diff options
author | Felix Fietkau <nbd@openwrt.org> | 2012-05-06 17:08:30 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2012-05-06 17:08:30 +0000 |
commit | ee9f3b6a3c1c896d4c037cb21fdb0190aa55c40e (patch) | |
tree | aa22705e5a4838bff72a5494264b029c95760059 /target/linux/atheros/patches-2.6.38/140-redboot_partition_scan.patch | |
parent | 0f425fe91e649a435ff3a9972e09fe139fceac5f (diff) | |
download | master-187ad058-ee9f3b6a3c1c896d4c037cb21fdb0190aa55c40e.tar.gz master-187ad058-ee9f3b6a3c1c896d4c037cb21fdb0190aa55c40e.tar.bz2 master-187ad058-ee9f3b6a3c1c896d4c037cb21fdb0190aa55c40e.zip |
atheros: update to 3.3.4 (based on work by acoul), fix mvswitch driver for newer kernels
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31625 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/atheros/patches-2.6.38/140-redboot_partition_scan.patch')
-rw-r--r-- | target/linux/atheros/patches-2.6.38/140-redboot_partition_scan.patch | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/target/linux/atheros/patches-2.6.38/140-redboot_partition_scan.patch b/target/linux/atheros/patches-2.6.38/140-redboot_partition_scan.patch deleted file mode 100644 index a09271a069..0000000000 --- a/target/linux/atheros/patches-2.6.38/140-redboot_partition_scan.patch +++ /dev/null @@ -1,54 +0,0 @@ ---- a/drivers/mtd/redboot.c -+++ b/drivers/mtd/redboot.c -@@ -78,31 +78,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); - -@@ -174,6 +175,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; |