diff options
-rw-r--r-- | target/linux/ar71xx/files/drivers/mtd/wrt160nl_part.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/target/linux/ar71xx/files/drivers/mtd/wrt160nl_part.c b/target/linux/ar71xx/files/drivers/mtd/wrt160nl_part.c index eabb47e..d979365 100644 --- a/target/linux/ar71xx/files/drivers/mtd/wrt160nl_part.c +++ b/target/linux/ar71xx/files/drivers/mtd/wrt160nl_part.c @@ -22,6 +22,7 @@ */ #include <linux/kernel.h> +#include <linux/module.h> #include <linux/slab.h> #include <linux/vmalloc.h> @@ -91,11 +92,15 @@ static int wrt160nl_parse_partitions(struct mtd_info *master, struct uimage_header *uheader; size_t retlen; unsigned int kernel_len; - unsigned int uboot_len = max(master->erasesize, WRT160NL_UBOOT_LEN); - unsigned int nvram_len = max(master->erasesize, WRT160NL_NVRAM_LEN); - unsigned int art_len = max(master->erasesize, WRT160NL_ART_LEN); + unsigned int uboot_len; + unsigned int nvram_len; + unsigned int art_len; int ret; + uboot_len = max_t(unsigned int, master->erasesize, WRT160NL_UBOOT_LEN); + nvram_len = max_t(unsigned int, master->erasesize, WRT160NL_NVRAM_LEN); + art_len = max_t(unsigned int, master->erasesize, WRT160NL_ART_LEN); + header = vmalloc(sizeof(*header)); if (!header) { return -ENOMEM; |