123456789101112131415161718192021222324252627282930 |
- --- a/drivers/mtd/redboot.c
- +++ b/drivers/mtd/redboot.c
- @@ -265,14 +265,21 @@ static int parse_redboot_partitions(stru
- #endif
- names += strlen(names)+1;
-
- -#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
- if(fl->next && fl->img->flash_base + fl->img->size + master->erasesize <= fl->next->img->flash_base) {
- - i++;
- - parts[i].offset = parts[i-1].size + parts[i-1].offset;
- - parts[i].size = fl->next->img->flash_base - parts[i].offset;
- - parts[i].name = nullname;
- - }
- + if (!strcmp(parts[i].name, "rootfs")) {
- + parts[i].size = fl->next->img->flash_base;
- + parts[i].size &= ~(master->erasesize - 1);
- + parts[i].size -= parts[i].offset;
- +#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
- + nrparts--;
- + } else {
- + i++;
- + parts[i].offset = parts[i-1].size + parts[i-1].offset;
- + parts[i].size = fl->next->img->flash_base - parts[i].offset;
- + parts[i].name = nullname;
- #endif
- + }
- + }
- tmp_fl = fl;
- fl = fl->next;
- kfree(tmp_fl);
|