[package] add Marvell orion watchdog timer module
[openwrt.git] / target / linux / ar71xx / files / drivers / mtd / wrt160nl_part.c
index da54e0f..c8233ce 100644 (file)
@@ -123,12 +123,8 @@ static int wrt160nl_parse_partitions(struct mtd_info *master,
                goto free_hdr;
        }
 
-       kernel_len = uheader->ih_size / master->erasesize;
-       if (uheader->ih_size % master->erasesize)
-               kernel_len++;
-
-       kernel_len++;
-       kernel_len *= master->erasesize;
+       kernel_len = le32_to_cpu(theader->offsets[1]) +
+               sizeof(struct cybertan_header);
 
        trx_parts[0].name = "u-boot";
        trx_parts[0].offset = 0;
@@ -142,7 +138,8 @@ static int wrt160nl_parse_partitions(struct mtd_info *master,
 
        trx_parts[2].name = "rootfs";
        trx_parts[2].offset = trx_parts[1].offset + trx_parts[1].size;
-       trx_parts[2].size = master->size - 6 * master->erasesize - trx_parts[1].size;
+       trx_parts[2].size = master->size - 6 * master->erasesize -
+               trx_parts[1].size;
        trx_parts[2].mask_flags = 0;
 
        trx_parts[3].name = "nvram";
@@ -163,9 +160,9 @@ static int wrt160nl_parse_partitions(struct mtd_info *master,
        *pparts = trx_parts;
        ret = TRX_PARTS;
 
- free_hdr:
+free_hdr:
        vfree(header);
- out:
+out:
        return ret;
 }
 
This page took 0.028901 seconds and 4 git commands to generate.