run metadata scanning only once when multiple targets are specified on the command...
[openwrt.git] / target / linux / brcm-2.4 / patches / 004-flash.patch
index 4fbf3da..de2d5b1 100644 (file)
@@ -334,10 +334,11 @@ diff -urN linux.old/drivers/mtd/devices/sflash.c linux.dev/drivers/mtd/devices/s
 diff -urN linux.old/drivers/mtd/maps/bcm947xx-flash.c linux.dev/drivers/mtd/maps/bcm947xx-flash.c
 --- linux.old/drivers/mtd/maps/bcm947xx-flash.c        1970-01-01 01:00:00.000000000 +0100
 +++ linux.dev/drivers/mtd/maps/bcm947xx-flash.c        2006-06-23 18:08:46.000000000 +0200
-@@ -0,0 +1,544 @@
+@@ -0,0 +1,548 @@
 +/*
-+ *  Copyright (C) 2004 Florian Schirmer (jolt@tuxbox.org)
++ *  Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
 + *  Copyright (C) 2005 Waldemar Brodkorb <wbx@openwrt.org>
++ *  Copyright (C) 2004 Florian Schirmer (jolt@tuxbox.org)
 + *
 + *  original functions for finding root filesystem from Mike Baker 
 + *
@@ -663,8 +664,10 @@ diff -urN linux.old/drivers/mtd/maps/bcm947xx-flash.c linux.dev/drivers/mtd/maps
 +
 +              /* Update the squashfs partition size based on the superblock info */
 +              part->size = sb->bytes_used;
-+              part->size +=  (mtd->erasesize - 1);
-+              part->size &= ~(mtd->erasesize - 1);
++              len = part->offset + part->size;
++              len +=  (mtd->erasesize - 1);
++              len &= ~(mtd->erasesize - 1);
++              part->size = len - part->offset;
 +      } else if (*((__u16 *) buf) == JFFS2_MAGIC_BITMASK) {
 +              printk(KERN_INFO "%s: Filesystem type: jffs2\n", mtd->name);
 +
@@ -717,7 +720,8 @@ diff -urN linux.old/drivers/mtd/maps/bcm947xx-flash.c linux.dev/drivers/mtd/maps
 +{
 +      int cfe_size;
 +
-+      cfe_size = find_cfe_size(mtd,size);
++      if ((cfe_size = find_cfe_size(mtd,size)) < 0)
++              return NULL;
 +
 +      /* boot loader */
 +      bcm947xx_parts[0].offset = 0;
This page took 0.028142 seconds and 4 git commands to generate.